* symfile.c (syms_from_objfile): Only call find_lowest_section if
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
0631def3
ILT
1Tue Nov 8 13:03:30 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2
3 * bout.c (callj_callback): Add new argument shrinking. Change all
4 callers. Handle relocs against section symbols correctly. If not
5 shrinking, don't subtract out dstidx; the subtraction is already
6 in the object file.
7
8Sun Nov 6 12:52:00 1994 Jeff Law (law@snake.cs.utah.edu)
9
10 * som.h: Conditionally include <shl.h> and <dl.h>.
11
2c5cdec2
KR
12Thu Nov 3 18:19:13 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
13
1ef625b7
KR
14 * Makefile.in (ALL_MACHINES): Include m68knetbsd.o.
15
2c5cdec2
KR
16 * config/i386linux.mh (EXTRALIBS): Include -lm.
17
72f2e984
KR
18 Patches from DJ Delorie:
19 * coff-go32.c: Replacement file, uses coff-i386.c with minor
20 changes.
21 * coff-i386.c (TARGET_UNDERSCORE): allow other files to override
22 underscore also
23 * makefile.dos: del ctor.o, add cofflink.o and elf32.o
24
9e6473f5
KR
25 * aoutx.h (adjust_o_magic): If user set data section vma, use it
26 to determine the default bss vma. Patch from Takada Hiroaki,
27 hiro@is.s.u-tokyo.ac.jp.
28 (machine_type, case bfd_arch_vax): Set *unknown to false. Patch
29 from John David Anglin <dave@hiauly1.hia.nrc.ca>.
30
30d1f88c
KR
31 * configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec,
32 since that's what it's called.
33
9cb8eb5c
ILT
34Wed Nov 2 15:24:51 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
35
36 * archive.c (normalize): Change to take a BFD as an argument.
37 Change VMS version to use bfd_alloc rather than malloc, so that we
38 don't lose the memory forever.
39 (_bfd_construct_extended_name_table): Check the name of an archive
40 entry which is not being extended, and correct it if it is wrong.
41 This is necessary in case the archive was constructed by another
42 program which put an entry in the extended name table which we
43 don't plan to put in ourselves. From jjc@jclark.com (James
44 Clark).
45 (bfd_dont_truncate_arname): Check return value of normalize.
46
2d2d08ed
ILT
47Mon Oct 31 14:19:08 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
48
b531cfe9
ILT
49 * elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
50 (ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
51 (symextn_entry): Don't define.
52 (symext_chain_size): Change type to bfd_size_type.
53 (symextn_contents): Change type to bfd_byte *.
54 (elf32_hppa_backend_begin_write_processing): Use
55 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
56 (elf32_hppa_size_symext): Likewise. Also, change type of sizep to
57 bfd_size_type *.
58 (elf_hppa_tc_make_sections): Cast symextn_contents assignment to
59 bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment.
60 (elf32_hppa_backend_symbol_table_processing): Use
61 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use
62 ELF32_PARISC_SX_GET insetad of direct assignment.
63 (elf32_hppa_read_symext_info): Change type of contents, and its
64 assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead
65 of sizeof (symextn_entry). Use symext_entryS instead of
66 symextn_entry. Use ELF32_PARISC_SX_GET instead of direct
67 assignment.
68
da6c4a8b
ILT
69 * archive.c (bfd_dont_truncate_arname): Add the ar padding
70 character, if there is room for it, even if the name is the
71 maximum length.
72
2d2d08ed
ILT
73 * elfcode.h (assign_file_positions_except_relocs): Sort the ELF
74 headers by section address when assigning file positions.
75 (elf_sort_hdrs): New static function.
76
197e30e5
ILT
77Sun Oct 30 18:56:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
78
79 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
80 and DT_FINI dynamic entries based on the existence of _init and
81 _fini symbols, not on the .init and .fini sections. This is
82 compatible with some SVR4 linkers.
83 (elf_bfd_final_link): Corresponding change.
84
54f16fc4
ILT
85Sat Oct 29 12:18:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
86
dd421917
ILT
87 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
88 symbol with a PLT entry into the .plt section if it is defined in
89 a regular file.
90 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
91
54f16fc4
ILT
92 * linker.c (_bfd_generic_link_add_archive_symbols): It's not an
93 error if an empty archive has no symbol table.
94 * ecoff.c (ecoff_link_add_archive_symbols): Likewise.
95 * elfcode.h (elf_link_add_archive_symbols): Likewise.
96
ec35a1c2
C
97Fri Oct 28 10:08:41 1994 J.T. Conklin (jtc@rtl.cygnus.com)
98
99 NetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
100 * config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
101 * configure.in (m68knetbsd_vec): Added.
102 * targets.c (bfd_m68knetbsd_vec): Added.
103 * hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
104 * Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
105
106 miscellaneous cleanup required by all netbsd targets, based on work
107 by Andrew Cagney <cagney@highland.com.au>:
108 * netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
109 N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out
110 definitions work.
111 * i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
112 (MY(write_object_contents)): Use NetBSD's magic numbers
113
14cac507
ILT
114Thu Oct 27 16:59:52 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
115
116 * libelf.h (struct bfd_elf_section_data): Add field dynindx.
117 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
118 the .dynsym, .dynstr or .hash sections until after the backend
119 size_dynamic_sections routine, so that it can add dynamic symbols
120 if it wants to.
121 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
122 symbol to be in the .plt section when generating a shared library
123 if it is a defined symbol.
124 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
125 (elf32_sparc_size_dynamic_sections): When generating a shared
126 library, allocate space for a dynamic symbol for each output
127 section, storing the index in the dynindx field of the ELF section
128 data. Adjust the other dynindx fields to account for this.
129 (elf32_sparc_adjust_dynindx): New static function.
130 (elf32_sparc_relocate_section): When copying a reloc into a shared
131 library, use the original addend as appropriate. Convert an
132 R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic
133 symbol index of the output section, not the normal symbol index.
134 (elf32_sparc_finish_dynamic_sections): Don't die if a section does
135 not exist when setting the value of the dynamic tags. Write out
136 a dynamic symbol for each output section.
137
875e4716
ILT
138Wed Oct 26 01:15:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
139
140 * aoutx.h (aout_link_input_section): Don't bother to read or write
141 the relocs if there aren't any.
142
9c26be63
ILT
143Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
144
875e4716
ILT
145 * Makefile.in (ALL_MACHINES): Add tekhex.o.
146 * targets.c (bfd_target_vector): If SELECT_VECS is not defined,
147 include tekhex_vec.
148 * tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
149 (getvalue, getsym, out): Likewise.
150 (find_chunk): Remove unused variable s.
151 (first_phase): Remove unused variable s.
152 (pass_over): Remove unused variable address.
153 (tekhex_object_p): Remove unused variable section.
154 (move_section_contents): Change return type from boolean to void.
155 (tekhex_write_object_contents): Remove unused variables tdata and
156 list.
157
9c26be63
ILT
158 * linker.c (enum link_action): Add CIND.
159 (link_action): Change COMMON_ROW\indr from MDEF to CREF. Change
160 INDR_ROW\common from MDEF to CIND.
161 (_bfd_generic_link_add_one_symbol): In CREF case, handle an
162 existing symbol which is indirect rather than defined. Add new
163 CIND case.
164
a56f23ae
ILT
165Mon Oct 24 15:33:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
166
fd9a6abc
ILT
167 Change S-record backend to use multiple sections to handle gaps in
168 file.
169 * srec.c (srec_data_list_struct): Move field next from last place
170 to first. Change type of data to bfd_byte *.
171 (struct srec_symbol): Define.
172 (tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
173 string_size, string_idx. Change type of symbols to struct
174 srec_symbol *. Add symtail and csymbols.
175 (low, high): Remove.
176 (size_symbols, fillup_symbols, size_srec, fillup): Remove.
177 (white, skipwhite, pass_over, object_p): Remove.
178 (srec_mkobject): Call srec_init. Adjust tdata initialization for
179 field changes.
180 (srec_get_byte, srec_bad_byte): New static functions.
181 (srec_new_symbol, srec_scan): New static functions.
182 (srec_object_p): Change type of b to bfd_byte. Explicitly set
183 wrong_format error. Call srec_mkobject and srec_scan instead of
184 object_p.
185 (symbolsrec_object_p): Likewise. Also, change b to be only two
186 bytes.
187 (srec_read_section): New static function.
188 (srec_get_section_contents): Call srec_read_section rather than
189 pass_over. Handle zero length section correctly.
190 (set_set_arch_mach): Change from function to macro.
191 (srec_set_section_contents): Change data to bfd_byte *.
192 (srec_write_record): Change data, end and src to bfd_byte *.
193 (srec_write_header): Change buffer and dst to bfd_byte *.
194 (srec_write_section): Change location to bfd_byte *.
195 (srec_write_terminator): Change buffer to bfd_byte *.
196 (srec_get_symtab_upper_bound): Don't call
197 srec_get_section_contents.
198 (srec_get_symtab): Rewrite.
199
a56f23ae
ILT
200 * ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
201
32399d32
C
202Fri Oct 21 16:43:13 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
203
204 * libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
205 * i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
206 changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
207 consistant with each other.
208 * netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
209 header into the start of its text segment.
210
12662be4
ILT
211Fri Oct 21 17:13:07 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
212
cd9782e8
ILT
213 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
214 _construct_extended_name_table.
215 (bfd_target): Add _bfd_construct_extended_name_table.
216 * archive.c (_bfd_archive_bsd_construct_extended_name_table): New
217 function.
218 (_bfd_archive_coff_construct_extended_name_table): New function.
219 (_bfd_construct_extended_name_table): Renamed by adding a leading
220 underscore, and made externally visible. Added trailing_slash
221 argument, and used it instead of elf_style. Changed type of
222 tablen to bfd_size_type *.
223 (_bfd_write_archive_contents): Use BFD_SEND to call
224 construct_extended_name_table. Use the returned name.
225 * libbfd-in.h (_bfd_construct_extended_name_table): Declare.
226 (_bfd_noarchive_construct_extended_name_table): Define.
227 (_bfd_archive_bsd_construct_extended_name_table): Declare.
228 (_bfd_archive_coff_construct_extended_name_table): Declare.
229 * bfd-in2.h: Rebuild.
230 * libbfd.h: Rebuild.
231 * som.c (som_construct_extended_name_table): New static function.
232 * aout-target.h (MY_construct_extended_name_table): Define.
233 * coff-rs6000.c (rs6000coff_construct_extended_name_table):
234 Define.
235 * ieee.c (ieee_construct_extended_name_table): Define.
236 * libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
237 * oasys.c (oasys_construct_extended_name_table): Define.
238
12662be4
ILT
239 Fix the ELF linker to not require an interpreter if no dynamic
240 objects were seen, even when linking PIC code.
241 * libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
242 (struct elf_link_hash_table): Add field dynamic_sections_created.
243 * elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
244 doesn't already exist.
245 (elf_link_add_object_symbols): Create dynamic sections based on
246 dynamic_sections_created field, not dynobj field. Don't bother to
247 set dynobj.
248 (elf_link_create_dynamic_sections): If dynamic sections were
249 already created, don't do anything. If dynobj is already set, use
250 it; otherwise, set it to the bfd argument. Don't initialize
251 dynsymcount. Only create dynstr if it does not exist. Set
252 dynamic_sections_created to true.
253 (NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
254 if no dynamic objects were seen.
255 (elf_adjust_dynamic_symbol): If a symbol has the
256 ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
257 (elf_bfd_final_link): Change most decisions based on dynobj to
258 check dynamic_sections_created instead.
259 (elf_link_output_extsym): Only handle dynamic symbols if a dynamic
260 object was seen.
261 * elf.c (_bfd_elf_link_hash_table_init): Initialize new field
262 dynamic_sections_created. Set dynsymcount to 1, not 0.
263 * elf32-i386.c (elf_i386_create_dynamic_sections): Call
264 elf_i386_create_got_section rather than creating the .got and
265 .got.plt sections.
266 (elf_i386_create_got_section): New static function.
267 (elf_i386_check_relocs): Just call elf_i386_create_got_section if
268 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
269 Only create the .rel.got section, and only make space for a reloc,
270 for a global symbol or when generating a shared object. For a
271 R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
272 (elf_i386_adjust_dynamic_symbol): Rework initial assertion to
273 permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols. Create a
274 procedure linkage table entry for such symbols. But, if no
275 dynamic objects were seen, never create a PLT entry.
276 (elf_i386_size_dynamic_sections): If no dynamic objects were seen,
277 skip most of this function, and force the size of the .rel.got
278 section to zero.
279 (elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
280 symbol when no dynamic object was seen, initialize the contents of
281 the .got section. For a R_386_GOT32 against a local symbol, only
282 create a R_386_RELATIVE reloc when generating a shared object.
283 Treat a R_386_PLT32 reloc against a symbol for which we did not
284 create a PLT entry as a R_386_PC32 reloc.
285 (elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
286 entries and the PLT if we saw a dynamic object.
287 * elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
288 setting rightshift to 10. Fix R_SPARC_WPLT20 by setting
289 rightshift to 2, size to 2, bitsize to 30, and dst_mask to
290 0x3fffffff.
291 (elf32_sparc_create_dynamic_sections): Don't set the size of the
292 .plt section. Call elf32_sparc_create_got_section rather than
293 creating the .got section.
294 (elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
295 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
296 Only create the .rela.got section, and only make space for a
297 reloc, for a global symbol or when generating a shared object.
298 Set the alignment of the .rela.got section to 2. For a
299 R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
300 (elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
301 permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols. Create a
302 procedure linkage table for such symbols. But, if no dynamic
303 objects were seen, never create a PLT entry. Initialize the size
304 of the .plt section.
305 (elf32_sparc_size_dynamic_sections): If no dynamic objects were
306 seen, skip most of this function, and force the size of the
307 .rela.got section to zero. Strip empty reloc sections, and strip
308 an empty .plt section.
309 (elf32_sparc_relocate_section): For a GOT reloc against a global
310 symbol when no dynamic object was seen, initialize the contents of
311 the .got section. For a GOT reloc against a local symbol, only
312 create a R_SPARC_RELATIVE reloc when generating a shared object.
313 Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
314 create a PLT entry as a R_SPARC_WDISP30 reloc.
315 (elf32_sparc_finish_dynamic_sections): Only fiddle with the
316 dynamic entries and the PLT if we saw a dynamic object.
317
e4a4da62
ILT
318Thu Oct 20 13:28:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
319
320 * elfcode.h (elf_map_symbols): Don't worry about section symbols
321 in a section not owned by any BFD.
322 (elf_section_from_bfd_section): Separate out loop which calls
323 backend routine. Check bfd_section and call the backend routine
324 even for a section not owned by any BFD.
325 * elf32-mips.c (mips_elf_section_from_bfd_section): Handle
326 .acommon section.
327
dab08441
JK
328Wed Oct 19 13:28:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
329
330 * coffgen.c (coff_print_symbol): Make names for section number and
331 storage class slightly more verbose. It's not clear how many
332 characters I can justify using up, but before this change they
333 both were abbreviated "sc" which is (IMHO) clearly unacceptable.
334
74942465
ILT
335Wed Oct 19 01:26:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
336
8b65c393
ILT
337 * binary.c (binary_set_section_contents): Set the base file
338 position from the lowest section VMA, not the start address.
339
74942465
ILT
340 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
341 if there are no symbols.
342 * coffgen.c (coff_get_normalized_symtab): Likewise.
343 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
344
d4d16683
ILT
345Tue Oct 18 12:56:43 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
346
c768bd3f
ILT
347 * aout-target.h (MY_bfd_copy_private_section_data): Only copy
348 subformat to another bfd_target_aout_flavour file.
349
350 * binary.c: New file for raw binary output format.
351 * Makefile.in (BFD_LIBS): Add binary.o.
352 (CFILES): Add binary.c.
353 * targets.c (binary_vec): Declare.
354 (bfd_target_vector): Include binary_vec.
355
d4d16683
ILT
356 * srec.c (tdata_type): Add field tail.
357 (srec_mkobject): Initialize tail.
358 (srec_set_section_contents): Sort S record list by address.
359
5e643795
ILT
360Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
361
b7881f82
ILT
362 * elfcode.h (elf_map_symbols): Sort the symbols into a new array,
363 rather than messing with Elf_Sym_Extra. Store the symbol index in
364 the udata.i field.
365 (swap_out_syms): Use outbound_syms as a pointer rather than as an
366 array. Don't worry about elf_sym_num.
367 * libelf.h (struct elf_sym_extra): Don't define.
368 (Elf_Sym_Extra): Don't define.
369 (struct elf_obj_tdata): Remove sym_extra field.
370 (elf_sym_extra): Don't define.
371 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
372 udata.i rather than elf_sym_extra array.
373
374 * syms.c (asymbol): Change udata field into a union.
375 * bfd-in2.h: Rebuild.
376 * aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
377 than just udata.
378 * bout.c (perform_slip): Likewise.
379 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
380 * ieee.c (ieee_slurp_external_symbols): Likewise.
381 * linker.c (generic_link_add_symbol_list): Likewise.
382 (default_indirect_link_order): Likewise.
383 * oasys.c (oasys_slurp_symbol_table): Likewise.
384 * reloc16.c (bfd_perform_slip): Likewise.
385 * srec.c (fillup_symbols): Likewise.
386 * coffcode.h (get_index): Use udata.i rather than just udata.
387 (coff_slurp_symbol_table): Likewise.
388 * coffgen.c (set_index): Likewise.
389 * ecoff.c (ecoff_set_symbol_info): Likewise.
390 * elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
391 * libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
392 * som.c (compare_syms): Likewise.
393 (som_prep_for_fixups): Likewise.
394 (som_write_fixups): Likewise.
395
eb4267a3
ILT
396 Use a hash table when writing out ELF symbol names.
397 * elfcode.h (elf_stringtab_init): New static function.
398 (bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
399 Change all callers to use elf_stringtab_init or
400 _bfd_stringtab_add, and get stringtab lengths using
401 _bfd_stringtab_size.
402 (elf_fake_sections): Change ignored argument to pointer to
403 boolean, and set the boolean to true if an error occurs. If an
404 error has already occurred, don't do anything.
405 (assign_section_numbers): Just set sh_size, not contents.
406 (elf_compute_section_file_positions): Pass the address of a
407 boolean to elf_fake_sections. Pass the address of a
408 bfd_strtab_hash to swap_out_syms. Write out the .strtab section.
409 (prep_headers): Change shstrtab to bfd_strtab_hash.
410 (swap_out_syms): Take a pointer to a bfd_strtab_hash as an
411 argument. Set it to the symbol names.
412 (NAME(bfd_elf,write_object_contents)): Write out the section
413 header names using _bfd_stringtab_emit.
414 (elf_debug_section): Remove first argument; get the section name
415 via the bfd_section pointer. Change caller.
416 (elf_bfd_final_link): Write out the symbol names using
417 _bfd_stringtab_emit. Likewise for the .dynstr section contents.
418 Free the symbol names at the end of the function.
419 (elf_link_input_bfd): Remove the last argument, output_names,
420 from relocate_section. Save the old symbol contents before
421 calling elf_link_output_sym, and restore them afterward.
422 * libelf.h (struct elf_link_hash_table): Change dynstr field to
423 struct bfd_strtab_hash.
424 (struct elf_backend_data): Remove last argument, output_names,
425 from elf_backend_relocate_section field.
426 (struct strtab): Don't define.
427 (struct elf_obj_tdata): Change strtab_ptr field to struct
428 bfd_strtab_hash.
429 * elf32-hppa.c (elf32_hppa_relocate_section): Remove last
430 argument, output_names.
431 * elf32-i386.c (elf_i386_relocate_section): Likewise.
432 * elf32-mips.c (mips_elf_relocate_section): Likewise.
433 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
434
cb066aa9
ILT
435 * libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
436 (bfd_add_to_string_table): Don't declare.
437 * libbfd.h: Rebuild.
438 * libbfd.c (bfd_add_to_string_table): Remove.
439
a3377a65 440 * elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
24f13b03
ILT
441 Clear contents field.
442 (bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
443 not rawdata. Don't set rawdata if e_shstrndx. Use bfd_section
444 rather than rawdata in commented out code. In SHT_REL[A] case,
445 don't bother to check elf_section_data of section returned by
446 section_from_elf_index.
447 (elf_fake_sections): Set bfd_section, not rawdata. Don't set
448 size.
449 (elf_map_symbols): Don't set elf_num_section_syms. Don't create
450 section symbols that already exist.
451 (assign_file_position_for_section): Use bfd_section, not rawdata.
452 (section_from_elf_index): Just check bfd_section field.
453 (elf_section_from_bfd_section): Likewise.
454 (elf_debug_section): Don't print rawdata, contents, or size.
455 (elf_link_add_object_symbols): Don't error out if
456 section_from_elf_index returns NULL.
457 (elf_bfd_final_link): Check return value from
458 section_from_elf_index against NULL, not bfd_is_abs_section.
459 (elf_link_input_bfd): Don't check section_from_elf_index return
460 value.
461 * libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
462 (elf_num_section_syms): Don't define.
463 * elf.c (elf_get_str_section): Store section contents in contents
464 field rather than rawdata field.
465 (elf_string_from_elf_section): Likewise.
466 (_bfd_elf_make_section_from_shdr): Store BFD section pointer in
467 bfd_section field rather than rawdata field.
468 * elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
469 rather than rawdata.
470 (elf32_hppa_size_stubs): Likewise.
b7881f82
ILT
471 (elf32_hppa_backend_symbol_table_processing): Don't set
472 symextn_hdr->size; just use sh_size.
24f13b03
ILT
473 * elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
474 rathern than rawdata.
475 (mips_elf_section_from_shdr): Likewise.
476 (mips_elf_section_processing): Likewise.
477 (mips_elf_section_from_bfd_section): Remove rawdata check.
478
5e643795
ILT
479 * srec.c (pass_over): Set the start address for S7, S8 or S9.
480
f10abb42
KR
481Fri Oct 14 19:15:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
482
483 * VERSION: Updated to 2.5.
484
61c94e5e
ILT
485Fri Oct 14 11:07:50 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
486
487 * bfd.c (bfd_scan_vma): Cast end to be non const before passing it
488 to strtoul.
489
82735983
ILT
490Thu Oct 13 14:40:41 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
491
492 * bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
493
ef4b8f66
KR
494Wed Oct 12 16:46:43 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
495
496 * opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
497 would make it slow. Besides, it isn't used much.
498 * elfcode.h (elf_map_symbols): Always allocate new storage for the
499 symbol table.
500
bf42caf3
ILT
501Wed Oct 12 11:54:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
502
82735983
ILT
503 * ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
504 stabs symbols as BSF_DEBUGGING.
7b18561f 505
17d9e203
ILT
506 * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
507 str1 and str2 const pointers.
508
bf42caf3
ILT
509 * Makefile.in (INSTALL): Use top level install.sh script.
510 * config/README (INSTALL): Remove.
511 * config/delta88.mh (INSTALL): Remove.
512 * config/i386v4.mh (INSTALL): Remove.
513 * config/irix4.mh (INSTALL): Remove.
514 * config/irix5.mh (INSTALL): Remove.
515 * config/ncrt3000.mh (INSTALL): Remove.
516
b2bcf39c
ILT
517Tue Oct 11 13:57:56 1994 Eric Youngdale (eric@andante.aib.com)
518
519 * elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
520 with a global offset table entry or a procedure linkage table
521 entry is added to the dynamic symbol table.
522 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
523 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
524 already gotten a procedure linkage table entry, change the
525 definition to the PLT entry.
526 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
527
9a406d86
ILT
528Tue Oct 11 17:12:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
529
530 * lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
531 dumping the .data section in a core file at a page boundary.
532
4fbc96ad
KR
533Mon Oct 10 16:24:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
534
4c032270
KR
535 * cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
536 to correct type.
537 (coff_read_string_table): Cast argument to bfd_h_get_32 to correct
538 type.
539 * elfcode.h (elf_link_output_extsym): Cast argument to
540 bfd_elf_hash to correct type.
541
4fbc96ad
KR
542 * elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
543 WPLT30 relocations are PC-relative.
544
545Thu Oct 6 12:57:26 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
546
547 * aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
548 the text section was user-defined.
549
66e4e649
ILT
550Wed Oct 5 14:42:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
551
552 * archive.c (bfd_construct_extended_name_table): SVR4 uses slash
553 newline at the end of the file name, not just newline.
554
dfaf9ef6
ILT
555Tue Oct 4 11:23:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
556
ea4849d5
ILT
557 * ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
558 power to 4, rather than using align_power_min.
559
28d19d03
ILT
560 * coffcode.h (coff_new_section_hook): Don't use align_power_min;
561 use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead. Force the .stab
562 and .stabstr sections to be aligned to no more than 2. Remove
563 COFF_SPARC special cases.
564 * coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
565 * coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
566 * coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
567 * coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
568 * coff-we32k.c, coff-z8k.c: Likewise.
569
995b0d3f
ILT
570 * configure.in: Use ${config_shell} when running config.bfd.
571
a297d42c
ILT
572 * cofflink.c (coff_link_input_bfd): Don't try to convert a long
573 filename if the offset field is zero.
574
dfaf9ef6
ILT
575 * elfcode.h (swap_out_syms): If the alignment of a common symbol
576 was not set, use a sensible default rather than zero.
577
995b0d3f 578Mon Oct 3 16:04:29 1994 H.J. Lu (hjl@nynexst.com)
dfaf9ef6
ILT
579
580 * opncls.c (bfd_close): Honor umask when setting execution bits.
581 (bfd_close_all_done): Likewise.
582
7a6c910e
PS
583Mon Oct 3 04:41:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
584
585 * rs6000-core.c (rs6000coff_core_p): Set SEC_HAS_CONTENTS flag
586 for .stack and .ldinfo sections. Cast coredata.c_tab to a
587 file_ptr to avoid warnings from gcc.
588
fb562be0
ILT
589Fri Sep 30 13:11:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
590
591 * elfcode.h (elf_bfd_final_link): Remove assertion when a non
592 SEC_IN_MEMORY section is found in dynobj. This can happen when
593 linking PIC compiled code.
594
9afa408e
KR
595Thu Sep 29 15:21:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
596
12cf5d98 597 * reloc.c (bfd_install_relocation): Change type of "data" to
85f34090
KR
598 bfd_byte *, to go along with yesterday's change.
599
64e21e0f
KR
600 * elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
601 in elfcode.h. (case bfd_print_symbol_all): Print symbol's size
602 field, except for common symbols; print their alignment.
603 * elfcode.h (elf_print_symbol): Deleted.
604 * libelf.h (bfd_elf_print_symbol): Declare.
605 (bfd_elf{32,64}_print_symbol): Replace declarations with macros.
606
9afa408e
KR
607 * syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
608 in one column. Use the column freed up to show BSF_FUNCTION and
609 BSF_FILE.
610
ec591fcf
ILT
611Thu Sep 29 12:29:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
612
613 * syms.c (stt): Add .rdata and .rodata.
614
094e8be3
ILT
615Wed Sep 28 13:35:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
616
617 * reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
618 before trying to add values to it.
619
620Tue Sep 27 16:47:58 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
621
622 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
623 return value from elf_sym_extra.
624 (elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
12cf5d98 625 (elf32_hppa_size_stubs): Cast return value from malloc.
094e8be3
ILT
626
627 * gen-aout.c (main): Declare and initialize "arch".
628
629 * cofflink.c (coff_link_add_symbols): Cast return value of
630 bfd_hash_allocate.
631
632 * riscix.c (riscix_callback): Use PARAMS macro in prototype.
633
634 * reloc.c (bfd_install_relocation): New function, mostly copied
635 from bfd_perform_relocation, adjusted for the assembler's needs.
636 * bfd-in2.h: Regenerated.
637
d80ebaac
ILT
638Mon Sep 26 11:00:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
639
5ea90891
ILT
640 * elfcode.h (assign_file_positions_except_relocs): Align the
641 section VMA and the file position even if D_PAGED is not set.
642
d80ebaac
ILT
643 * bfd-in.h (bfd_seek): Change declaration to not mark fp const.
644 * bfd-in2.h: Rebuild.
645 * libbfd.c (bfd_seek): Don't mark parameters const, to avoid
646 conflicts with declaration.
647
57b40081
ILT
648Fri Sep 23 15:15:31 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
649
650 * elfcode.h (map_program_segments): Don't abort if we allocated
651 too much space for the program header, only if we allocated too
652 little.
d80ebaac 653 (assign_file_positions_except_relocs): Similar change.
57b40081 654
237402b4
C
655Tue Sep 20 13:17:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
656
657 * libaout.h: Fix comment.
658 * ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
659 libaout.h.
660
f90a2cdc
ILT
661Tue Sep 20 15:23:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
662
57b40081
ILT
663 * Makefile.in: Rebuilt dependencies.
664 (BFD32_BACKENDS): Add sparcnetbsd.o.
665 (CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
666 * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
667
f90a2cdc
ILT
668 * coff-sh.c (rtype2howto): Remove; unused.
669 (coff_sh_relocate_section): Remove unused local variable rstat.
670 (reloc_processing): Comment out; unused.
671
fb9a2192
ILT
672Fri Sep 16 12:12:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
673
674 * aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
675 always write it out even if it would normally be stripped.
676 (aout_link_input_section_std): If we find a reloc against a
677 stripped global symbol, force it to be written out rather than
678 merely calling unattached_reloc.
679 (aout_link_input_section_ext): Likewise.
680 (aout_link_reloc_link_order): Likewise.
681
8a2cdc62
JL
682Wed Sep 14 15:37:19 1994 Jeff Law (law@snake.cs.utah.edu)
683
a8d08664
JL
684 * som.h (struct somdata): New field sorted_syms.
685 (obj_som_sorted_syms): Accessor macro.
686 * som.c (som_object_setup): Initialize sorted_syms to NULL.
687 (som_prep_for_fixups): Sort a copy of the BFD's symbol table;
688 store the sorted symbol table in sorted_syms.
689 (som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
690 (som_begin_writing): Similarly for exec_header. Pass the sorted
691 symbol table to som_write_symbol_strings.
692 (som_build_and_write_symbol_table): Use the sorted symbols rather
693 than the canonical symbol table.
694
8a2cdc62
JL
695 * som.h (som_symbol_type): Add "stringtab_offset" field.
696 * som.c (som_write_symbol_strings): Use "stringtab_offset"
697 rather than destroying the "name" field in the BFD symbol.
698 (som_build_and_write_symbol_table): Likewise.
699
8c62064a
ILT
700Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
701
ab0434c2
ILT
702 * aoutx.h (aout_link_write_symbols): Rename skip_indirect to
703 skip_next. If we find an N_WARNING symbol which has already been
704 written out, set skip_next.
705
9be909ae
ILT
706 * libecoff.h (struct ecoff_tdata): Add field find_buffer.
707 * ecoff.c: Include aout/stab_gnu.h.
708 (ecoff_find_nearest_line): Handle stabs debugging information.
709
8c62064a
ILT
710 * elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
711 even if it is referenced by another object.
712
a0b4aa62
JL
713Tue Sep 13 17:57:00 1994 Jeff Law (law@snake.cs.utah.edu)
714
ae880afc
JL
715 * som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
716 'T' and 'U' to grab all the unwind information.
717 (som_set_reloc_info): Make 'U' unwind bits persist across
718 multiple SOM relocations. Set the addend field of an R_ENTRY
719 relocation to the value in 'T'; set the addend field on an
720 R_EXIT relocation to the value in 'U'.
721
e10639db
JL
722 * som.h (som_symbol_type): Delete unwind field.
723
724 * som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
725 unwind information from the addend field of the R_ENTRY, get the
726 other 32bits from the addend field of the R_EXIT.
727 (bfd_som_attach_unwind_info): Delete function and all references.
728
39836432
JL
729 * som.h (som_symbol_type): Delete unused a.out-related fields.
730
731 * som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
732 instead of &bfd_abs_section.
733
a0b4aa62
JL
734 * som.c (som_object_setup): Handle exec_entry and exec_flags being
735 switched in executables created by the OSF1 linker.
736 (som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
737 fixups. Support R_ALT_ENTRY (handle just like R_EXIT).
738
cf345e36
SC
739Tue Sep 13 16:04:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
740
741 * cofflink.c (coff_link_input_bfd): syment_base is unsigned
742 so can't compare -ve numbers with it.
743
744Mon Sep 12 20:31:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
745
746 * configure.in (shcoff_vec): Use cofflink.o now.
747 * coff-sh.c: Rewritten to use new fast coff backend.
748
204ba9e3
ILT
749Tue Sep 13 16:23:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
750
751 * aoutx.h (NAME(aout,final_link)): Don't assume that all the input
752 files are a.out.
753
a3f7a777
C
754Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com)
755
756 * configure.host (sparc-*-netbsd): use sparcnbsd.
757 (ns32k-*-netbsd): use ns32knbsd.
758
759 * hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
760 host support.
761
762 * sparcnetbsd.c: New file, adds support for NetBSD/sparc.
763 * config/sparc-nbsd.mt: Likewise.
764
765 * netbsd.h: New file, definitions common to all netbsd ports.
766 * i386netbsd.c: Use it.
767 * ns32knetbsd.c: Use it.
768
769 * Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
770 config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
771 file/variable naming conventions.
772 * i386netbsd.c: New file, renamed from netbsd386.c.
773 * ns32knetbsd.c: New file, renamed from netbsd532.c.
774
c7ca67cb
JL
775Mon Sep 12 21:56:20 1994 Jeff Law (law@snake.cs.utah.edu)
776
777 * som.c (som_reloc_skip): Correct off-by-one error for 4-byte
778 R_NO_RELOCATION fixups.
779 (bfd_section_from_som_symbol): Return the absolute section if the
780 symbol isn't contained in any section in the output file.
781 (som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
782 not function symbols (they are magic code labels which *can* be the
783 targets of cross space branches). $START$ is not a section symbol.
784
3cd942de
ILT
785Mon Sep 12 11:43:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
786
3c9832f8
ILT
787 * coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
788 to section_flags.
789 * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
790
791 * elfcode.h (swap_out_syms): Set the type of an undefined symbol
792 to STT_FUNC if the BSF_FUNCTION flag is set.
793
2a895595
ILT
794 * cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
795 change it.
796 (_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
797 absolute reloc. Don't dump core using r_symndx as an array index.
798 * cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
799 (lynx_link_add_symbols): New static function (copy of function in
800 coff-i386.c).
801 (coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
802 * coff-i386.c (coff_i386_rtype_to_howto): Likewise.
803 * coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
804 value of -1, meaning an absolute reloc.
805
3cd942de
ILT
806 * ctor.c: Remove; obsolete.
807 * Makefile.in: Rebuild dependencies.
808 (BFD_LIBS): Remove ctor.o.
809 (CFILES): Remove ctor.c.
810 * libbfd.h: Rebuild.
811
27ebd952
JL
812Mon Sep 12 01:58:47 1994 Jeff Law (law@snake.cs.utah.edu)
813
814 * elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
815 error of some sort (for example, undefined symbols), then do not
816 apply any relocs, just notify the user of the errors.
817 (elf32_hppa_backend_begin_write_processing): Do not build a symbol
818 extension section for an executable (it's useless).
819 (elf32_hppa_link_output_symbol_hook): Do nothing if there was a
820 link error of some sort (for example, undefined symbols).
821 (elf32_hppa_read_symext_info): Kludge. Turn off SEC_HAS_CONTENTS
822 for all the input symbol extension sections to keep the generic
823 BFD code happy. Temporarily turn it on to read the contents of
824 the symbol extension section.
825
95bc714e
JL
826Sun Sep 11 21:58:59 1994 Jeff Law (law@snake.cs.utah.edu)
827
828 * config/hppaosf.mh (RANLIB): Do not set.
829 * config/hppabsd.mh (RANLIB): Likewise.
830
5b89e1a0
ILT
831Sun Sep 11 22:50:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
832
833 * cf-i386lynx.c: Remove #if 0 code.
834 (i386_lynxos_coff_object_p): Remove unused function.
835 (coff_bfd_link_add_symbols): Define.
836 (lynx_link_add_symbols): New static function.
837 * coffcode.h (coff_bfd_link_hash_table_create): If
838 coff_relocate_section is defined, only define this if not already
839 defined.
840 (coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
841
842 * linker.c (_bfd_generic_final_link): Handle
843 bfd_indirect_link_order explicitly, rather than via
844 _bfd_default_link_order.
845 (set_symbol_from_hash): New static function, broken out of
846 _bfd_generic_link_write_global_symbol.
847 (_bfd_generic_link_write_global_symbol): Symbol setting code moved
848 to set_symbol_from_hash; call it.
849 (default_indirect_link_order): Add generic_linker argument.
850 Change all callers. If false, set the generic symbols based on
851 the hash table entries.
852
bd23b552
ILT
853Fri Sep 9 11:51:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
854
67ff4a56
ILT
855 * coffgen.c (coff_get_symtab): Reindented. Removed commented out
856 call to bfd_constructor_entry.
857
bd23b552
ILT
858 Convert m68k COFF to use new COFF backend linker.
859 * coff-m68k.c (coff_relocate_section): Define.
860 * cf-m68klynx.c (coff_rtype_to_howto): Define.
861 (coff_m68k_lynx_rtype_to_howto): New static function.
862 * configure.in (m68kcoff_vec): Build cofflink.o.
863 (m68kcoffun_vec, m68klynx_coff_vec): Likewise.
864
2546fb27
SC
865Thu Sep 8 16:20:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
866
bd23b552
ILT
867 * coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
868 overflows correctly.
2546fb27 869
dc5fff10
ILT
870Wed Sep 7 19:01:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
871
2546fb27
SC
872 * libelf.h (struct elf_backend_data): Change second argument of
873 elf_backend_final_write_processing hook to boolean.
874 (struct elf_obj_tdata): Add linker field.
875 * elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
876 tdata linker field to final_write_processing, rather than NULL.
877 (elf_bfd_final_link): Don't call final_write_processing hook. Set
878 tdata linker field to true.
879 * elf32-mips.c (mips_elf_final_write_processing): Change type of
880 second argument to boolean.
881 * elf32-hppa.c (elf32_hppa_backend_final_write_processing):
882 Likewise.
883
dc5fff10
ILT
884 * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
885 * coff-i960.c (RTYPE2HOWTO): Likewise.
886 * coff-m88k.c (RTYPE2HOWTO): Likewise.
887 * coff-we32k.c (RTYPE2HOWTO): Likewise.
888
889 Make i386 COFF use new COFF backend linker.
890 * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
891 (coff_relocate_section): Define.
892 (coff_i386_rtype_to_howto): New function.
893 * configure.in (i386coff_vec): Use cofflink.o.
894 (i386lynx_coff_vec): Likewise.
895
896 * coffcode.h (bfd_coff_backend_data): Add new field
897 _bfd_coff_rtype_to_howto.
898 (bfd_coff_rtype_to_howto): Define.
899 (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
900 defined.
901 (bfd_coff_std_swap_table): Initialize new field.
902 * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
903 section_info structures, since the target_index is 1 based.
904 (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
905 common symbol. Adjust rel_hash by the output reloc count.
906 (_bfd_coff_generic_relocate_section): New function.
907 * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
908 * libcoff.h: Rebuild.
909 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
910 * coff-mips.c (mips_ecoff_backend_data): Likewise.
911
3b50c900
JL
912Tue Sep 6 23:28:52 1994 Jeff Law (law@snake.cs.utah.edu)
913
914 * som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
915 symbols and undefined symbols which no type in the same manner
916 if the associated BFD symbol has BSF_FUNCTION set. For a defined
917 symbol which no type, select a SOM type based on the flags of the
918 section containing the symbol.
919 (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
920 or ST_CODE symbols (importing a non-function code symbol is
921 meaningless in SOM).
922 (som_set_reloc_info): Don't set "offset" to the section's vma; it
923 should always start at zero.
924
69645d10
ILT
925Tue Sep 6 14:51:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
926
927 Add new style linker support to COFF backend. a29k only for now.
928 * cofflink.c: New file.
929 * libcoff-in.h: Include bfdlink.h.
930 (obj_coff_external_syms, obj_coff_strings): Define accessor macro.
931 (obj_coff_sym_hashes): Define accessor macro.
932 (struct coff_tdata): Add fields external_syms, strings, and
933 sym_hashes.
934 (struct coff_link_hash_entry): Define.
935 (struct coff_link_hash_table): Define.
936 (coff_link_hash_lookup, coff_link_hash_traverse): Define.
937 (coff_hash_table): Define.
938 (_bfd_coff_link_hash_table_create): Declare.
939 (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
940 * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
941 _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
942 _bfd_coff_compute_section_file_positions,
943 _bfd_coff_relocate_section.
944 (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
945 (bfd_coff_sym_is_global): Define.
946 (bfd_coff_compute_section_file_positions): Define.
947 (bfd_coff_relocate_section): Define.
948 (coff_mkobject_hook): Initialize obj_raw_syment_count and
949 obj_conv_table_size.
950 (coff_compute_section_file_positions): Set target_index of all
951 sections. Set output_has_begun field.
952 (coff_write_object_contents): Don't set target_index; now done by
953 coff_compute_section_file_positions. Remove obsolete handling of
954 scn_base and data_base. Don't bother to check that target_index
955 is positive, since it always is. Remove use of pad, which is
956 always zero. Check obj_raw_syment_count, not bfd_get_symcount,
957 for the number of symbols, but only write them out if
6ceff8e7
ILT
958 bfd_get_symcount is non-zero. Don't check obj_raw_syment_count
959 until after coff_write_symbols is called.
69645d10
ILT
960 (coff_slurp_symbol_table): Use obj_raw_syment_count, not
961 bfd_get_symcount for the number of symbols. Don't set
962 obj_conv_table_size.
963 (coff_sym_is_global): New static function or macro.
964 (coff_slurp_reloc_table): Call coff_swap_reloc_in, not
965 bfd_swap_reloc_in.
966 (coff_bfd_link_hash_table_create): If coff_relocate_section is
967 defined, define as _bfd_coff_link_hash_table_create.
968 (coff_bfd_link_add_symbols): Similar change.
969 (coff_bfd_final_link): Similar change.
970 (coff_relocate_section): Define as NULL if not defined.
971 (bfd_coff_std_swap_table): Initialize new fields.
972 * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
973 and obj_conv_table_size here.
974 (coff_count_linenumbers): Reindent. If bfd_get_symcount is zero,
975 add up the line numbers from the sections.
6ceff8e7
ILT
976 (coff_write_symbols): Set obj_raw_syment_count, not
977 bfd_get_symcount.
69645d10
ILT
978 (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
979 field.
980 (coff_get_normalized_symtab): Use obj_raw_syment_count, not
981 bfd_get_symcount.
982 (coff_print_symbol): If auxp->fix_end, print x_endndx value.
983 * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
984 Reindent. Change argument type to PTR.
985 * coff-a29k.c (coff_a29k_relocate_section): New static function.
986 (coff_relocate_section): Define.
987 * configure.in (a29kcoff_big_vec): Compile cofflink.o.
988 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
989 * coff-mips.c (mips_ecoff_backend_data): Likewise.
990 * libcoff.h: Rebuilt.
991 * Makefile.in: Rebuilt dependencies.
992 (BFD32_BACKENDS): Add cofflink.o.
993 (CFILES): Add cofflink.c.
994
358710a7
KR
995Tue Sep 6 14:00:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
996
de733a0e
KR
997 * coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
998 for section symbol, and print its aux fields with appropriate
999 labels.
1000
358710a7
KR
1001 * Makefile.in (ALL_MACHINES): Added cpu-arm.o.
1002
e1728bee 1003Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
318b02b6
KR
1004
1005 * aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
1006 * archures.c, config.bfd, configure.host, libaout.h, reloc.c,
1007 targets.c: Add support for the ARM.
1008 * cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
1009
e1728bee 1010 * aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
318b02b6 1011
0443af31
KR
1012Fri Sep 2 14:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1013
1014 * reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
1015 new "chew" commands for simultaneous definition of enumerator and
1016 enumerator name table.
1017 (bfd_get_reloc_code_name): New function, for retrieving a symbolic
1018 name associated with an enumerator.
1019 * libbfd.h, bfd-in2.h: Regenerated.
1020
b905bde1
JL
1021Tue Aug 30 21:24:54 1994 Jeff Law (law@snake.cs.utah.edu)
1022
1023 * som.c (som_write_fixups, case R_ENTRY): Handle case where no
1024 unwind descriptor information is available.
1025
0822b56d
ILT
1026Tue Aug 30 11:43:30 1994 Eric Youngdale (ericy@cais.cais.com)
1027
1028 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
1029 argument, and use it to set DT_SONAME dynamic entry.
1030 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
1031 (bfd_elf64_size_dynamic_sections): Update prototype.
1032 * bfd-in2.h: Rebuilt.
1033
b8520cf3
ILT
1034Fri Aug 26 15:47:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1035
1036 * coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
1037 (coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
1038 than setting it.
1039
715cde57
ILT
1040Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1041
fc10f31e
ILT
1042 * archive.c (bsd_write_armap): Remove host dependencies.
1043
435b470e
ILT
1044 * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
1045 before adding BYTES_IN_WORD.
1046
6d04c6d4
ILT
1047 * coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
1048 not merely the first.
1049
715cde57
ILT
1050 * coffgen.c (coff_write_alien_symbol): If we are not using the
1051 symbol, clear the name so that it is not put in the string table.
1052 From Antti.Miettinen@ntc.nokia.com.
1053
1afd2380
ILT
1054Wed Aug 24 11:49:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1055
5a53b1c1
ILT
1056 * coffgen.c (coff_print_symbol): Cast pointer different to long
1057 and use %ld to print it.
1058 * osf-core.c (osf_core_core_file_p): Remove unused variable
1059 dseccnt.
1060 * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
1061 bytes in bits2.
1062
073e795f 1063 * configure.host, config.bfd: Change i[34]86 to i[345]86.
a74d1517
ILT
1064 * coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
1065 rather than waiting until coff_slurp_symbol_table.
1066 (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
1067 From Antti.Miettinen@ntc.nokia.com.
1068
d3700222
ILT
1069 * section.c (bfd_make_section_anyway): Fix failure check of
1070 bfd_make_empty_symbol. From Antti.Miettinen@ntc.nokia.com.
1071
1afd2380
ILT
1072 * aoutx.h (translate_to_native_sym_flags): Use the output_section
1073 (and output_offset) if there is one.
1074
1075 * aoutx.h (aout_link_check_archive_element): Discard the symbols
1076 if the archive element was not needed.
1077
1078 * aoutx.h (aout_get_external_symbols): Ensure that a zero string
1079 index yields an empty string.
1080 (aout_link_write_symbols): If info->keep_memory is false, use name
1081 from original hash table entry, not from entry in *sym_hash.
1082
1083 * aoutx.h (struct aout_final_link_info): Add fields contents,
1084 relocs, symbol_map and output_syms.
1085 (NAME(aout,final_link)): Work out the largest section size, reloc
1086 size, and number of symbols. Use them to preallocate buffers that
1087 are large enough for all cases.
1088 (aout_link_input_bfd): Use preallocated symbol_map.
1089 (aout_link_write_symbols): Remove symbol_map argument; use
1090 preallocated symbol_map instead. Change all callers. Use
1091 preallocated output_syms.
1092 (aout_link_input_section): Remove symbol_map argument. Change all
1093 callers. Use preallocated contents and relocs.
1094 (aout_link_input_section_std): Remove symbol_map argument; use
1095 preallocated symbol_map instead. Change all callers.
1096 (aout_link_input_section_ext): Likewise.
1097
1098Tue Aug 23 10:51:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1099
1100 * archive.c (_bfd_write_archive_contents): Don't update the
1101 symbol map timestamp if there is no symbol map. From
1102 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
1103
e914ed52
ILT
1104Mon Aug 22 12:26:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1105
81eb52b3
ILT
1106 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
1107 (bfd_target): Add field _bfd_update_armap_timestamp.
1108 * bfd.c (bfd_update_armap_timestamp): Define.
1109 * bfd-in2.h: Rebuilt.
1110 * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
1111 (_bfd_archive_bsd_update_armap_timestamp): Declare.
1112 (_bfd_archive_coff_update_armap_timestamp): Define.
1113 * libbfd.h: Rebuilt.
1114 * archive.c (_bfd_write_archive_contents): Call
1115 bfd_update_armap_timestamp instead of checking for a BSD archive
1116 and calling bsd_update_armap_timestamp.
1117 (_bfd_archive_bsd_update_armap_timestamp): Rename from
1118 _bsd_update_armap_timestamp. Don't assume that armap_datepos is
1119 already set.
1120 * aout-target.h (MY_update_armap_timestamp): Define if not already
1121 defined.
1122 * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
1123 * ieee.c (ieee_update_armap_timestamp): Define.
1124 * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
1125 * oasys.c (oasys_update_armap_timestamp): Define.
1126 * som.c (som_update_armap_timestamp): Define.
1127
e914ed52
ILT
1128 * hash.c: Copy string hash functions from aoutx.h.
1129 * aoutx.h: String hash functions moved to hash.c. Retain
1130 simplified versions of add_to_stringtab and emit_stringtab.
1131 Change all callers to use new function and structure names.
1132 * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
1133 (_bfd_stringtab_size, _bfd_stringtab_add): Declare.
1134 (_bfd_stringtab_emit): Declare.
1135 * libbfd.h: Rebuilt.
1136
0ff4ca1e
ILT
1137Mon Aug 22 10:49:37 1994 Eric Youngdale (ericy@cais.cais.com)
1138
1139 * i386linux.c (linux_add_one_symbol): Create a fixup for any
1140 defined absolute symbol, not just GOT or PLT symbols.
1141 (linux_tally_symbols): Correct handling of references to defined
1142 symbols.
1143
32c76553
ILT
1144Thu Aug 18 16:29:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1145
f4945271
ILT
1146 Get ld -x -r to handle a.out set symbols correctly.
1147 * aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
1148 BFD, pad the .data section up to the VMA of the .bss section.
1149 (aout_link_add_symbols): If a set symbol does not get modified,
1150 treat it as a local symbol.
1151 (aout_link_write_symbols): Set the value of set symbols
1152 correctly. Don't discard set symbols even if discarding local
1153 symbols.
1154 (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
1155 since it can now happen for set symbols.
1156
32c76553
ILT
1157 * elfcode.h (elf_fake_sections): Just check for ".rela" and
1158 ".rel", not ".rela." and ".rel."; make this work by checking
1159 use_rela_p.
1160 * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
1161 ".rel."
1162 (elf_i386_size_dynamic_sections): Likewise.
1163 (elf_i386_relocate_section): Likewise.
1164 * elf32-sparc.c (elf32_sparc_check_relocs): Just check for
1165 ".rela", not ".rela."
1166 (elf32_sparc_size_dynamic_sections): Likewise.
1167 (elf32_sparc_relocate_section): Likewise.
1168
7cc5cc22
ILT
1169Wed Aug 17 16:54:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1170
1171 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
1172 PASS to the old value + 1.
d83689d4
ILT
1173
1174 * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
1175 no aux entries, use the symbol name as the file name.
1176 (coff_find_nearest_line): Look for the right C_FILE symbol, rather
1177 than always using the first one. If there is a debugging symbol
1178 after a function symbol, skip it. Add the section VMA to the line
1179 offset, since it was subtracted out in coff_slurp_line_table.
1180
fde543b5
JL
1181Tue Aug 16 16:53:00 1994 Jeff Law (law@snake.cs.utah.edu)
1182
1183 * som.c (som_prep_headers): If writing some form of an executable,
1184 allocate and attach an exec header to the BFD private data.
1185 (som_begin_writing): Don't fill fields of the exec header based
1186 on BFD private data here (like the exec flags). Do not write
1187 the exec header here.
1188 (som_write_headers): Instead do it here.
1189 * som.h (struct somdata): New field "exec_hdr" for the executable
1190 file header.
1191 (obj_som_exec_hdr): New accessor macro.
1192
969ceea0
ILT
1193Tue Aug 16 00:12:31 1994 Eric Youngdale (ericy@cais.cais.com)
1194
1195 * i386linux.c (linux_link_create_dynamic_sections): Create section
1196 named .linux-dynamic, not .dynamic.
1197 (linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
1198 (bfd_linux_size_dynamic_sections): Likewise.
1199 (linux_finish_dynamic_link): Likewise.
1200
e8fbe6d9
ILT
1201Mon Aug 15 12:16:56 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1202
9fbe895a
ILT
1203 * coffgen.c (STRING_SIZE_SIZE): Define.
1204 (coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
1205 (coff_write_symbols, build_string_table): Likewise.
1206 (coff_get_normalized_symtab): Likewise.
1207
f07bb971
ILT
1208 * libcoff-in.h (obj_symbol_slew): Don't define.
1209 (struct coff_tdata): Remove unused fields index_slew, raw_linenos,
1210 and flags.
1211 * libcoff.h: Rebuilt.
1212 * coffcode.h (coff_mkobject): Don't initialize raw_linenos.
1213 (coff_mkobject_hook): Don't initialize flags.
1214
a932d0ff
ILT
1215 * aout-target.h (MY_zmagic_contiguous): Define as 0 if not already
1216 defined.
1217 (MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0.
1218 * i386linux.c (MY_zmagic_contiguous): Define.
1219
823609fe
ILT
1220 * elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a
1221 shared object has SHF_ALLOC set, create a BFD section for it.
1222 (elf_section_from_bfd_section): There may be a BFD section for a
1223 SHT_SYMTAB section.
1224
e8fbe6d9
ILT
1225 * coffcode.h (styp_to_sec_flags): Add name argument. If no flags
1226 are recognized, chose section flags based on the name.
1227 (bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add
1228 name argument.
1229 (bfd_coff_styp_to_sec_flags_hook): Add name argument.
1230 (coff_compute_section_file_positions): Don't adjust the section
1231 position by COFF_PAGE_SIZE unless SEC_ALLOC is set.
1232 * libcoff.h: Rebuilt.
1233 * coffgen.c (make_a_section_from_file): Pass section name to
1234 bfd_coff_styp_to_sec_flags_hook.
1235 * ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name
1236 argument.
1237 * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to
1238 prototype.
1239
1c640609
ILT
1240Fri Aug 12 11:22:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1241
e9227b42
ILT
1242 * elfcode.h (section_from_elf_index): Correct check for invalid
1243 section index.
1244
1c640609
ILT
1245 * elfcode.h (elf_link_add_object_symbols): If there is no symbol
1246 table, try using the dynamic symbol table. From Eric Youngdale
1247 <ericy@cais.cais.com>.
1248
1249 * configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.
1250 The linker depends upon configuring for solaris2.
1251 * hosts/solaris2.h: New file; include hosts/sysv4.h.
1252 * config/solaris2.mh: New file; copy of config/sysv4.mh.
1253
e1f99f60
ILT
1254Wed Aug 10 13:09:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1255
1256 * aoutx.h (adjust_z_magic): Make sure data section is padded to
1257 page boundary when the VMA is set by the calling program. From
1258 Eric Youngdale <ericy@cais.cais.com>.
1259
fb49a801
SS
1260Mon Aug 8 17:18:49 1994 Stan Shebs (shebs@andros.cygnus.com)
1261
1262 Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).
1263 * aout-ns32k.c: Add declarations that were in aout-ns32k.h, change
1264 declarations to traditional form.
1265 (MY_reloc_howto, MY_put_reloc): Change from macro to function.
1266 (ns32k_relocate_contents): New function.
1267 * aout-ns32k.h: Remove.
1268 * cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change
1269 declarations to traditional form.
1270 (ns32k_final_link_relocate): Call ns32k_relocate_contents.
1271 * netbsd532.c: Reformat to standards, add copyright notice.
1272 (ARCH): Don't define.
1273 (aout-ns32k.h): Don't include.
1274 * pc532-mach.c: Ditto.
1275
1276Mon Aug 8 17:55:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1277
1278 * coff-i960.c (coff_i960_relocate): Don't try to convert relocs
1279 against common symbols.
1280
f20860cd
PS
1281Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1282
1283 * irix-core.c (irix_core_core_file_p): Ignore sections that
1284 are not contained in the core file.
1285
203778ce
JMD
1286Thu Aug 4 11:32:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1287
74329939 1288 * coff-m68k.c (m68k_reloc_type_lookup): New function.
8337ee9d 1289 (coff_bfd_reloc_type_lookup): Define.
74329939 1290 * cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define.
8337ee9d 1291
203778ce
JMD
1292 * elfcode.h (elf_bfd_final_link): Force the vma of sections which
1293 do not have SEC_ALLOC set to be 0. This is needed to handle
1294 relocs against debugging sections.
1295
1b8a11d4
JMD
1296Wed Aug 3 16:45:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1297
1298 * coff-i960.c (coff_i960_relocate): Rewrote to change relocs
1299 against locally defined symbols into relocs against section
1300 symbols, for VxWorks 5.1.
1301
e696f6a9
JMD
1302Wed Aug 3 10:34:37 1994 Eric Youngdale (ericy@cais.cais.com)
1303
1304 * i386linux.c (linux_add_one_symbol): Only handle
1305 SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set. Set hashp
1306 for a GOT or PLT symbol. Set jump field of fixup for a PLT symbol.
1307 (linux_tally_symbols): Check section of real symbol. When looking
1308 for a builtin fixup, check builtin and jump flags. Create no more
1309 than one fixup, and always create one if the real symbol is in the
1310 absolute section. Only strip absolute symbols.
1311
756b40d5
DHW
1312Wed Aug 3 05:08:24 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
1313
1314 * coffcode.h (coff_write_object_contents): set internal_a.magic to
1315 LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS
1316 (yes, they have the same magic number!)
1317
e0566e19
JMD
1318Tue Aug 2 10:43:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1319
b2ea35c7
JMD
1320 * hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test
1321 in aoutx.h work correctly.
1322
5e694c29
JMD
1323 * coff-i960.c (coff_i960_relocate): New function.
1324 (howto_rellong, howto_iprmed): Use it as special_function.
1325
e0566e19
JMD
1326 * libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek,
1327 bfd_tell, bfd_flush, and bfd_stat from here...
1328 * bfd-in.h: ...to here, to make them visible to programs which
1329 know more about the object file format than BFD does.
1330 * libbfd.h, bfd-in2.h: Rebuilt.
1331
287e3ce2
JMD
1332Mon Aug 1 17:55:53 1994 Fred Fish (fnf@cygnus.com)
1333
1334 * ptrace-core.c (ptrace_unix_core_file_p): Convert zalloc usage
1335 to bfd_zalloc.
1336
abc61566 1337Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
d510fd89 1338
4ab1f947
JMD
1339 * elf64-sparc.c (ELF_MAXPAGESIZE): Define.
1340
99dd7754
JMD
1341 ELF linker patches from Eric Youngdale <ericy@cais.cais.com>.
1342 * elfcode.h (elf_link_create_dynamic_sections): Set type of
1343 _DYNAMIC to STT_OBJECT.
1344 (NAME(bfd_elf,record_link_assignment)): Always create hash table
1345 entry. Set type to STT_OBJECT.
1346 (elf_link_output_extsym): Don't set type of weak defined symbol to
1347 STB_WEAK if symbol was referenced.
e2167917
JMD
1348 (map_program_segments): Check DYNAMIC as well as EXEC_P.
1349 (assign_file_positions_except_relocs): Likewise.
99dd7754
JMD
1350 * elf32-i386.c (elf_i386_create_dynamic_sections): Set type of
1351 _GLOBAL_OFFSET_TABLE to STT_OBJECT.
1352 (elf_i386_check_relocs): Ignore local PLT32 relocs.
1353 (elf_i386_relocate_section): Treat local PLT32 relocs as PC32.
1354
30e5ad97
ILT
1355 * elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
1356 handling again.
1357
d510fd89
ILT
1358 * elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
1359 if there aren't any.
abc61566
ILT
1360
1361 * configure.host (sparc-*-solaris2*): Use sysv4, not solaris2.
1362 * hosts/solaris2.h: Remove.
1363 * config/solaris2.mh: Remove.
1364
58bbba79
JL
1365Sun Jul 31 14:27:04 1994 Jeff Law (law@snake.cs.utah.edu)
1366
1367 * elf32-hppa.c, elf32-hppa.h: Update comment reflecting which
1368 HPPA ELF spec the code implements.
1369
b5b056fc
KR
1370Tue Jul 26 17:38:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1371
1372 * cpu-i960.c (MAX_ARCH): New macro.
1373 (compatible): Use it in computing array bounds. Put comma after
1374 last entry in array, for regularity.
1375 (arch_info_struct): Adjust spacing for easier reading.
1376
1377 * coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use
1378 HOWTO macro.
1379
1380 start-sanitize-i960xl
1381 * cpu-i960.c (XL): Define as bfd_mach_i960_xl.
1382 (scan_960_mach): Recognize xl machine.
1383 (MAX_ARCH): Define to be XL.
1384 (compatible): Add XL row to array.
1385 (arch_info_struct): Add XL entry.
1386
1387 * archures.c (bfd_mach_i960_xl): New macro.
1388 * bfd-in2.h: Regenerated.
1389
1390 * coffcode.h (coff_set_arch_mach_hook): For F_I960XL, set machine
1391 to bfd_mach_i960_xl.
1392 (coff_set_flags): For bfd_mach_i960_xl, set F_I960XL.
1393 end-sanitize-i960xl
1394
374d2ef9
ILT
1395Tue Jul 26 11:04:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1396
9a402d7a
ILT
1397 * elfcode.h (elf_adjust_dynamic_symbol): When handling a weak
1398 symbol, correct check to see whether the equivalent normal symbol
1399 was referenced.
1400
374d2ef9
ILT
1401 Add support for creating shared libraries under i386 ELF and SPARC
1402 ELF. Based on patches by Eric Youngdale <ericy@cais.cais.com>.
1403 * libelf.h (struct elf_link_hash_entry): Remove copy_offset field.
1404 Add got_offset and plt_offset fields.
1405 (ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define.
1406 (ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define.
1407 (ELF_LINK_HASH_NEEDS_COPY): Define.
1408 (struct elf_backend_data): Add check_relocs field.
1409 (struct bfd_elf_section_data): Change relocs from PTR to
1410 Elf_Internal_Rela *.
1411 (struct elf_obj_tdata): Add local_got_offsets field.
1412 (elf_local_got_offsets): Define accessor macro.
1413 (bfd_elf32_link_create_dynamic_sections): Declare.
1414 (bfd_elf32_link_record_dynamic_symbol): Declare.
1415 (bfd_elf64_link_create_dynamic_sections): Declare.
1416 (bfd_elf64_link_record_dynamic_symbol): Declare.
1417 * elfcode.h (elf_slurp_reloc_table): Don't use the section data
1418 relocs field.
1419 (elf_link_record_dynamic_symbol): Make globally visible. Use
1420 macro to rename to NAME(bfd_elf,link_record_dynamic_symbol).
1421 (elf_link_add_object_symbols): If creating a shared library, put
1422 make all local symbols dynamic. Don't bother with the
1423 DYNAMIC_MULTIPLE flags. Call the check_relocs backend function if
1424 it is defined.
1425 (elf_link_create_dynamic_sections): Make globally visible. Use
1426 macro to rename to NAME(bfd_elf,link_create_dynamic_sections). If
1427 creating a shared library, make sure that _DYNAMIC is added as a
1428 dynamic symbol.
1429 (elf_link_read_relocs): New function.
1430 (NAME(bfd_elf,record_link_assignment)): If creating a shared
1431 library, always create symbols, and always make them dynamic.
1432 (elf_bfd_final_link): Permit creation of shared libraries.
1433 (elf_link_input_bfd): Use elf_link_read_relocs to get the relocs.
1434 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize
1435 copy_offset. Initialize got_offset and plt_offset.
1436 * elf32-target.h (elf_backend_check_relocs): Define as 0 if not
1437 defined.
1438 (elf32_bed): Initialize check_relocs field.
1439 * elf64-target.h (elf_backend_check_relocs): Define as 0 if not
1440 defined.
1441 (elf64_bed): Initialize check_relocs field.
1442 * elf32-i386.c (elf_howto_table): Change R_386_PLT32 and
1443 R_386_GOTPC to be pc_relative and pcrel_offset.
1444 (elf_i386_pic_plt0_entry): Define.
1445 (elf_i386_pic_plt_entry): Define.
1446 (elf_i386_create_dynamic_sections): Create a .got.plt section, and
1447 define _GLOBAL_OFFSET_TABLE_ at the start of it. If creating a
1448 shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
1449 dynamic symbol. Don't create .rel.bss if creating a shared
1450 library.
1451 (elf_i386_check_relocs): New function.
1452 (elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the
1453 symbol already has one. When making a PLT entry, set plt_offset.
1454 Don't create a copy reloc when creating a shared library. Don't
1455 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
1456 (elf_i386_allocate_dynamic_section): Remove.
1457 (elf_i386_size_dynamic_sections): Look through all the sections
1458 rather than assuming we know their names. Remove any empty reloc
1459 or plt sections. Only add a DT_DEBUG entry if not creating a
1460 shared library. Only add a DT_PLTGOT entry if there is a PLT.
1461 Add a DT_TEXTREL entry if required.
1462 (elf_i386_relocate_section): Permit undefined symbols when
1463 creating a shared library. Handle the special relocation types
1464 specially.
1465 (elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset
1466 is set. If creating a shared library, produce a PIC PLT entry.
1467 Only mark a PLT symbol as undefined if it was not defined by a
1468 regular object file. Create a GOT entry if got_offset is set.
1469 Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
1470 (elf_i386_finish_dynamic_sections): Change the handling of
1471 DT_RELSZ to simply subtract out the size of .rel.plt. If creating
1472 a shared library, produce PIC PLT code.
1473 (elf_backend_check_relocs): Define.
1474 * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10,
1475 R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow.
1476 (elf32_sparc_create_dynamic_sections): If creating a shared
1477 library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
1478 dynamic symbol, and set the type to STT_OBJECT. Likewise for
1479 _PROCEDURE_LINKAGE_TABLE_. Don't create .rel.bss if creating a
1480 shared library.
1481 (elf32_sparc_check_relocs): New function.
1482 (elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the
1483 symbol already has one. When making a PLT entry, set plt_offset.
1484 Don't create a copy reloc when creating a shared library. Don't
1485 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
1486 (elf32_sparc_allocate_dynamic_section): Remove.
1487 (elf32_sparc_size_dynamic_sections): Look through all the sections
1488 rather than assuming we know their names. Only add a DT_DEBUG
1489 entry if not creating a shared library. Add a DT_TEXTREL entry if
1490 required.
1491 (elf32_sparc_relocate_section): Permit undefined symbols when
1492 creating a shared library. Handle the special relocation types
1493 specially.
1494 (elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset
1495 is set. Only mark a PLT symbol as undefined if it was not defined
1496 by a regular object file. Create a GOT entry if got_offset is
1497 set. Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
1498 (elf32_sparc_finish_dynamic_sections): Store dynobj in a local
1499 variable.
1500 (elf_backend_check_relocs): Define.
1501
caede515
SS
1502Mon Jul 25 12:21:07 1994 Stan Shebs (shebs@andros.cygnus.com)
1503
1504 * configure.in (pc532mach_vec): Change to pc532machaout_vec.
1505 * config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name.
1506 * Makefile.in (ALL_MACHINES): Add cpu-ns32k.o.
1507 (BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o,
1508 pc532-mach.o.
1509 * targets.c (pc532machaout_vec): Use instead of pc532mach_vec.
1510 * config/pc532-mach.mt (DEFAULT_VECTOR): Ditto.
1511 (SELECT_VECS): Remove.
1512 * config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt.
1513 * config/ns32k-netbsd.mt: Remove, name too long.
1514
2aaaab7c
ILT
1515Fri Jul 22 11:07:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1516
f2c2e75c
ILT
1517 * linker.c (generic_link_check_archive_element): When changing a
1518 symbol to common, set the alignment.
1519 (_bfd_generic_link_add_one_symbol): When creating a common symbol,
1520 set the alignment.
1521 * aoutx.h (aout_link_check_ar_symbols): When changing a symbol to
1522 common, set the alignment.
1523 (aout_link_add_symbols): Restrict the alignment of a common symbol
1524 to the alignment power given by the architecture.
1525 * libelf.h (struct elf_link_hash_entry): Remove align field. Add
1526 copy_offset field.
1527 * elfcode.h (elf_link_add_object_symbols): Store alignment in
1528 new bfd_link_hash_entry field, not in elf_link_hash_entry field.
1529 (elf_link_output_extsym): Similar change when getting alignment.
1530 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align. Do
1531 initialize copy_offset.
1532 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
1533 field rather than align field. Get alignment using bfd_log2
1534 rather than switch.
1535 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1536 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
1537 not align.
1538 * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
1539
2aaaab7c
ILT
1540 * aoutx.h (NAME(aout,some_aout_object_p)): Just check
1541 STAT_FOR_EXEC, don't check MACH.
1542 * m88kmach3.c (MACH): Don't define.
1543 * config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
1544 * config/m88k-mach3.mt (TDEFINES): Likewise.
1545 * config/mips-mach3.mt (TDEFINES): Likewise.
1546
bb99a732
SS
1547Thu Jul 21 17:24:31 1994 Stan Shebs (shebs@andros.cygnus.com)
1548
1549 * i386mach3.c: Reverted to version from before Jul 5 1994 changes.
1550
f42fe159
ILT
1551Thu Jul 21 12:26:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1552
1553 * reloc.c (struct reloc_howto_struct): Remove special_function1.
1554 It's the wrong way to do things.
1555 (HOWTO): Change accordingly.
1556 (HOWTO2): Remove.
1557 (_bfd_final_link_relocate): Remove references to
1558 special_function1.
1559 * bfd-in2.h: Rebuilt.
1560 * aoutx.h (aout_link_input_section_std): Remove references to
1561 special_function1.
1562 (aout_link_reloc_link_order): Likewise.
1563
1564Wed Jul 20 15:46:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1565
1566 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath
1567 argument. If it is not NULL, use it to set DT_RPATH.
1568 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
1569 (bfd_elf64_size_dynamic_sections): Likewise.
1570 * bfd-in2.h: Rebuilt.
1571
ea617174
ILT
1572Sat Jul 16 21:10:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1573
f42fe159
ILT
1574 * elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no
1575 dynamic symtab, return error.
1576
bf73e4f3
ILT
1577 * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define.
1578 * elfcode.h (elf_link_add_object_symbols): If symbol is defined as
1579 weak, set ELF_LINK_HASH_DEFINED_WEAK.
1580 (elf_link_output_extsym): If symbol is defined as weak, mark it
1581 STB_WEAK.
1582
ea617174
ILT
1583 * libelf.h (struct bfd_elf_section_data): Add relocs field.
1584 (shdr_name): Remove; unused.
1585 * elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL
1586 and RELA relocs. Free up the unswapped relocs. Permit the relocs
1587 to be cached in the section_data. Correct the reloc address.
1588 (elf_slurp_reloca_table): Remove.
1589 (elf_canonicalize_reloc): Rewrote.
1590 (elf_link_input_bfd): Permit the relocs to be cached in the
1591 section data.
1592
ef8b133d
SS
1593Sat Jul 16 13:55:38 1994 Stan Shebs (shebs@andros.cygnus.com)
1594
d9840ab7
SS
1595 * config.bfd (m88*-harris-cxux*): Recognize.
1596 * hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define.
1597
ef8b133d
SS
1598 * configure.host (m68*-atari-sysv4*): New host.
1599 (m68*-cbm-sysv4*): Use m68kv4 instead of amix.
1600 * hosts/amix.h: Remove.
1601 * hosts/m68kv4.h: New file, was amix.h.
1602
1fb83be6
KR
1603Thu Jul 14 15:12:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1604
1605 * reloc.c (enum bfd_reloc_code_real, bfd_type, struct
1606 reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied
1607 changes over from bfd-in2.h so they get generated properly next
1608 time someone runs "make headers".
1609 * bfd-in2.h: Rebuilt.
1610
1611 * targets.c (netbsd532_vec, pc532mach_vec): Declare const.
1612 (m88kmach3_vec): Restore deleted declaration.
1613
1614 * configure.in: Alphabetize target vector names.
1615
1616 * config/pc532mach.mh: New file.
1617 (HDEPFILES, HDEFINES): Define here.
1618 * config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted.
1619 * config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted.
1620
1621 Sun Jul 10 00:04:20 1994 Ian Dall (dall@hfrd.dsto.gov.au)
1622
1623 * pc532-mach.c: New File. pc532-mach a.out format.
1624
1625 * netbsd532.c: New file. pc532-netbsd532 a.out format.
1626
1627 * hosts/pc532mach.h: New file. pc532-mach host support.
1628
1629 * cpu-ns32k.c: New file. ns32k support cpu specific code rather
1630 than format specific code.
1631
1632 * config/pc532-mach.mt: New file. Support for pc532-mach target.
1633
1634 * config/ns32k-netbsd.mt: New file. Support for netbsd532 target.
1635
1636 * aout-ns32k.c, aout-ns32k.h: New files supporting aout format for
1637 ns32k series.
1638
1639 * targets.c: Add netbsd532_vec and pc532machaout_vec into
1640 bfd_target_vector array. Move netbsd386_vec to alphabetic order
1641 location.
1642
1643 * reloc.c (_bfd_final_link_relocate) Add support for
1644 special_function1 in howto.
1645
1646 * libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in
1647 machine_type enum.
1648
1649 * configure.in: add pc532mach_vec and netbsd532_vec entries.
1650
1651 * config.bfd: add pc532mach host entries. Use for both
1652 ns32k-pc532-mach and ns32k-pc532-netbsd.
1653
1654 * config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach.
1655 add ns32k-pc532-mach* and ns32k-*-netbsd* entries.
1656
1657 * bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real
1658 enum.
1659
1660 * bfd-in2.h: Add special_function1 to struct howto. Change HOWTO
1661 and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2
1662 macro.
1663
1664 * bfd-in2.h: Split definition of struct reloc_howto_struct
1665 and corresponding typedef into two statements.
1666
1667 * bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum.
1668
1669 * archures.c: Add bfd_ns32k_arch prototype, and entry in
1670 archures_init_table.
1671
1672 * aoutx.h (aout_link_reloc_link_order): Allow for target dependent
1673 MY_put_reloc macro. Allow for target dependent special_function1
1674 to apply the relocation.
1675
1676 * aoutx.h (aout_link_input_section_std): Allow for target
1677 dependent determination of reloc howto. Allow for target dependent
1678 special_function1 to apply the relocation.
1679
1680 * aoutx.h (get_reloc_upper_bound): Detect bss and return 0.
1681
1682 * aoutx.h (slurp_reloc_table): Detect bss and succesfully read
1683 zero reloc entries.
1684
1685 * aoutx.h (machine_type): Add bfd_arch_ns32k case.
1686
1687 * aoutx.h: Stat to determine executable status if STAT_FOR_EXEC
1688 is defined (not just MACH). Use fstat instead of stat and check
1689 for fstat error.
1690
1691 * aoutx.h: Allow target dependent swap_std_reloc_{in,out}.
1692
1693 * aoutx.h: Allow CTORS reloc info to be in target dependent reloc
1694 table.
1695
1696 * aout-target.h: Apply SWAP_MAGIC (if defined) after
1697 swap_exec_header_in, otherwise we have magic in the wrong order.
1698
a307efdf
SS
1699Thu Jul 14 11:47:27 1994 Stan Shebs (shebs@andros.cygnus.com)
1700
1701 * coff-sparc.c (sparccoff_vec): Have leading underscores.
1702
57a814a9
PS
1703Tue Jul 12 12:08:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1704
1705 * aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
1706 hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
1707 rs6000-core.c, trad-core.c: Remove SEC_ALLOC flag from .reg
1708 sections, .reg sections are not allocated and contain debug
1709 information only.
1710 * osf-core.c (make_bfd_asection, osf_core_core_file_p): Use
1711 bfd_make_section_anyway instead of building unique section names.
1712
42ec46c3
ILT
1713Tue Jul 12 11:41:22 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1714
840846da
ILT
1715 * libelf.h (bfd_elf32_swap_symbol_in): Declare.
1716 (bfd_elf32_swap_symbol_out): Declare.
1717 (bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare.
1718 * elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast.
1719
42ec46c3
ILT
1720 * aout-encap.c (ARCH): Don't define. Obsolete.
1721 * aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
1722 * i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
1723 * i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
1724 * newsos3.c, sparclynx.c, sunos.c: Likewise.
1725
18938e4d
ILT
1726Mon Jul 11 20:08:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1727
1728 * section.c (STD_SECTION): Make the sixth argument boolean, not
1729 the seventh. From gary@tuva.pacsemi.oz.au (gary kopff).
1730
4852416e
DHW
1731Sun Jul 10 09:12:02 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
1732
1733 * aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
1734 in order not to collide with LynxOS's definition of FREE in
1735 /usr/include/sys/proc.h
1736
1737Thu Jul 7 14:18:06 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1738
1739 * reloc.c (bfd_perform_relocation): Don't clobber the relocation
1740 value for coff-Intel-little or coff-Intel-big. Hack upon hack.
1741
fd4913f1
PS
1742Thu Jul 7 10:10:34 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1743
1744 * aoutx.h (howto_table_std): Add entry for GOT relocations
1745 which are present in sun3 shared libraries, to avoid assertions
1746 when reading the dynamic relocations.
1747
48530c25
JL
1748Thu Jul 7 10:19:20 1994 Jeff Law (law@snake.cs.utah.edu)
1749
1750 * som.h (R_HPPA_COMPLEX): Fix dumb typo.
1751
874a4327
ILT
1752Wed Jul 6 19:21:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1753
1754 * hosts/sysv4.h (qsort, strtol): Don't declare.
1755
1756 * elfcode.h (elf_link_output_sym): Don't call output_symbol_hook
1757 if it is NULL.
1758
1759 * elf32-mips.c (mips_elf_final_write_processing): Add ignored info
1760 argument to correspond to recent libelf.h change.
1761
5fb54939
PS
1762Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1763
1764 * coff-alpha.c (alpha_ecoff_mkobject_hook): New hook to
1765 additionally copy object type information from the alpha file
1766 header to the BFD flags.
1767 (alpha_ecoff_backend_data): Use it.
1768 (ecoffalpha_little_vec): Add DYNAMIC to object_flags.
1769 * aout64.c: Fix typo in conditional QMAGIC definition.
1770
2c0f3abc
JL
1771Wed Jul 6 00:13:17 1994 Jeff Law (law@snake.cs.utah.edu)
1772
1773 * hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the
1774 value of clicksz to help weed out non HPPA BSD core files.
1775
11676adc
SS
1776Tue Jul 5 13:26:02 1994 Stan Shebs (shebs@andros.cygnus.com)
1777
1778 Mach 3 support.
1779 * config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
1780 New targets.
1781 * configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
1782 "mach3" instead of "mach".
1783 (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
1784 * targets.c (m88kmach3_vec): New target vector.
1785 (bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
1786 inside #if 0.
1787 * aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
1788 checking for execute permission, instead of looking at entry
1789 point.
1790 * i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
1791 N_SHARED_LIB, don't include aout/*.h files, etc.
1792 * m88kmach3.c: New file, m88k Mach 3 target.
1793 * config/m88k-mach3.mt, config/mips-mach3.mt: New files, target
1794 makefile fragments.
1795 * config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
1796 New files, host makefile fragments.
1797 * hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
1798
71edd06d
ILT
1799Tue Jul 5 13:56:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1800
1801 * elfcode.h (swap_out_syms): Get alignment of common symbol from
1802 st_value field of saved ELF symbol information, if there is any.
1803
edf7c1e4
JL
1804Mon Jul 4 19:13:32 1994 Jeff Law (law@snake.cs.utah.edu)
1805
1806 * som.h (R_HPPA_COMPLEX): Define.
1807 * elf32-hppa.h (R_HPPA_COMPLEX): Define.
1808 (elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17.
1809
1810Fri Jul 1 12:07:41 1994 Jeff Law (law@snake.cs.utah.edu)
1811
1812 * Support code for enabling the new style linker for PA ELF.
1813 * elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
1814 (elf_compute_section_file_positions): Pass link_info to
1815 the begin_write_processing hook.
1816 (bfd_elf_write_object_contents): Pass NULL for new link_info
1817 argument to final_write_processing hook.
1818 (elf_link_output_sym): Accept new "input_section" argument for
1819 the symbols's input section. All callers changed. Call the
1820 link_output_symbol_hook if it's defined.
1821 (elf_bfd_final_link): Call the final_write_processing hook if
1822 it's defined.
1823 * libelf.h (elf_backend_link_output_symbol_hook): Declare.
1824 (elf_backend_begin_write_processing): Add new "info" argument.
1825 (elf_backend_final_write_processing): Likewise.
1826 * elf32-target.h (elf_backend_link_output_symbol_hook): Provide
1827 a default definition.
1828 (elf32_bed): Add elf_backend_link_output_symbol_hook.
1829 * elf64-target.h: Likewise.
1830
1831 * Major rework of the PA ELF code. Uses the new style BFD
1832 linker, major cleanups.
1833 * hppa_stubs.h: Rewrite from scratch. Much smaller and simpler.
1834 * elf32-hppa.h: Delete all symbol extension related code.
1835 (hppa_look_for_stubs_in_section): Delete decl.
1836 (elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
1837 * elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
1838 into elf32-hppa.c. Do not include aout64.h.
1839 (typdef hppa_stub_type): Delete.
1840 (elf32_hppa_stub_name_list_struct): Delete.
1841 (elf32_hppa_stub_description_struct): Delete.
1842 (arg_reloc_type): Use simpler enumerations. All references changed.
1843 (arg_location, arg_reloc_relocation): Likewise.
1844 (elf32_hppa_symextn_map_struct): Delete.
1845 (get_symbol_value): Delete.
1846 (elf32_hppa_get_sym_extn): Delete.
1847 (find_stubs, new_stubs, type_of_mismatch): Delete.
1848 (find_stub_by_name, add_stub_by_name): Delete.
1849 (hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
1850 (hppa_elf_arg_reloc_needed): Renamed. Simplify.
1851 (hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
1852 (hppa_elf_long_branch_needed_p): Delete.
1853 (hppa_look_for_stubs_in_section): Delete.
1854 (hppa_elf_get_section_contents): Delete.
1855 (elf32_hppa_backend_symbol_processing): Delete.
1856 (elf32_hppa_backend_section_processing): Delete.
1857 (elf32_hppa_backend_section_from_shdr): Delete.
1858 (elf32_hppa_backend_fake_sections): Delete.
1859 (elf32_hppa_backend_section_from_bfd_section): Delete.
1860 (NEW_INSTRUCTION): Delete.
1861 (CURRENT_STUB_OFFSET): Delete.
1862 (elf32_hppa_relocate_section): New function.
1863 (elf32_hppa_bfd_final_link_relocate): New function.
1864 (elf32_hppa_size_symext): New function.
1865 (elf32_hppa_link_output_symbol_hook): New function.
1866 (elf32_hppa_read_symext_info): New function.
1867 (elf32_hppa_add_symbol_hook): New function.
1868 (elf32_hppa_name_of_stub): New function.
1869 (elf32_hppa_size_of_stub): New function.
1870 (elf32_hppa_build_one_sub): New function.
1871 (elf32_hppa_build_stubs): New function.
1872 (elf32_hppa_size_stubs): New function.
1873 (linker, stub and argument hash tables): Add appropriate
1874 structures, definitions and functions to implement all three
1875 hash tables.
1876 (hppa_elf_relocate_insn): Don't need argument location information
1877 in this function.
1878 (add_entry_to_symext_chain): Accept a symbol's argument location
1879 information rather than the symbol itself. All callers changed.
1880 (hppa_elf_gen_reloc_type): Simplify.
1881 (hppa_elf_set_section_contents): Stub section is no longer special.
1882 (hppa_elf_reloc): Greatly simplify.
1883 (elf32_hppa_begin_write_processing): Accept link_info argument.
1884 Handle being called from the BFD backend linker.
1885 (elf32_hppa_final_write_processing): Likewise.
1886 (elf_hppa_tc_make_sections): No longer call stub_finish.
1887
eeaed195
SC
1888Mon Jun 27 18:07:06 1994 Steve Chamberlain (sac@cirdan.cygnus.com)
1889
1890 * section.c (bfd_get_section_contents): Put in parens to get
1891 precedence right.
1892
1893Sun Jun 26 18:08:29 1994 Jeff Law (law@snake.cs.utah.edu)
1894
1895 * libelf.h (relocate_section): New argument "output_names" added
1896 to prototype.
1897 * elfcode.h (elf_link_input_bfd): New argument "output_names"
1898 added to prototype of relocate_section. Pass the output symbol
1899 names to relocate_section.
1900 * elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
1901 determine the name of a local symbol.
1902 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1903 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1904
5e16521a
PS
1905Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1906
1907 Add Solaris BCP (the part of Solaris which allows it to run
1908 SunOS4 a.out files) core file handling.
1909 * aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
1910 New structure and its swap in function.
1911 (internal_sunos_core): New member c_data_addr, to receive the
1912 start address of the data section in the core file.
1913 (swapcore_sun3, swapcore_sparc, sunos4_core_file_p): Use it.
1914 (sunos4_core_file_p): Recognize Solaris BCP core file.
1915 (sunos4_core_file_matches_executable_p): Always indicate match
1916 for Solaris BCP core files.
1917
51fc377b
ILT
1918Thu Jun 23 15:31:28 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1919
8af74670
ILT
1920 Preliminary support for generating shared libraries, from Eric
1921 Youngdale <ericy@cais.cais.com>.
1922 * elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
1923 (elf_link_add_object_symbols): If generating a shared library,
1924 create dynamic sections for first input BFD with the right format.
1925 (elf_link_create_dynamic_sections): Don't create .interp section
1926 if creating a shared library.
1927 (elf_link_input_bfd): Skip dynamic sections in input file.
1928 (elf_bfd_final_link): If creating a shared library, it's OK for
1929 dynobj to have sections which are not SEC_IN_MEMORY.
1930 * elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
1931 section if not creating a shared library.
1932 * elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
1933
51fc377b
ILT
1934 * elfcode.h (elf_object_p): Don't set DYNAMIC just because there
1935 is an SHT_DYNAMIC section.
1936
1937 * cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
1938 object_flags.
1939 * coff-sparc.c (sparccoff_vec): Likewise.
1940 * hppabsd-core.c (hppabsd_core_vec): Likewise.
1941
1942 * aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
1943 just because DYNAMIC is set.
1944
1f8b3b57
DM
1945Thu Jun 23 12:53:41 1994 David J. Mackenzie (djm@rtl.cygnus.com)
1946
1947 * configure.in: Change --with-targets to --enable-targets and
1948 --with-64-bit-bfd to --enable-64-bit-bfd.
1949 * Makefile.in, mpw-make.in, targets.c: Change comments.
1950
3bf36e67
KR
1951Wed Jun 22 17:59:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1952
1953 * config.bfd (powerpc-*-elf*): New target, just like
1954 powerpc-*-sysv4*.
1955
2e66a627
KR
1956 * linker.c (FAIL): Undefine macro before defining as enum.
1957
4587b578
ILT
1958Wed Jun 22 10:52:47 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1959
135a6815
ILT
1960 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
1961 pass from abfd->archive_pass, and save it there as well.
1962
a537cb21
ILT
1963 * hash.c (bfd_hash_allocate): Don't call bfd_set_error if
1964 obstack_alloc returns NULL unless the size is non-zero.
1965
1966 * linker.c (archive_hash_allocate): Define.
1967 (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
1968 rather than obstack_alloc, for clarity.
1969
66f2c66f
ILT
1970 * elfcode.h (elf_get_reloc_upper_bound): Correct.
1971
d81843e8
ILT
1972 * aout64.c (BMAGIC, QMAGIC): Define if not already defined. From
1973 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
1974
0630aba5
ILT
1975 Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
1976 * libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
1977 * aout-target.h (MY(callback)): Only set alignment according to
1978 architecture if the section sizes are aligned to that alignment,
1979 for backward compatibility.
1980 (MY(set_sizes)): Initialize zmagic_disk_block_size field.
1981 * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set
1982 text section filepos to zmagic_disk_block_size if not ztih. Use a
1983 different padding algorithm if not ztih.
1984 * i386linux.c (MY_text_includes_header): Don't define.
1985
4587b578
ILT
1986 * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
1987 symbols; don't look them up in the hash table. From
1988 ralphc@pyramid.com (Ralph Campbell).
1989
badd23e3
ILT
1990Tue Jun 21 11:47:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1991
4587b578
ILT
1992 * coff-go32.c (go32coff_archive_p): Remove unused function.
1993
badd23e3
ILT
1994 * section.c (bfd_abs_section): Make const.
1995 (bfd_abs_section_ptr, bfd_is_abs_section): Define.
1996 (bfd_und_section): Make const.
1997 (bfd_und_section_ptr, bfd_is_und_section): Define.
1998 (bfd_com_section): Make const.
1999 (bfd_com_section_ptr): Define.
2000 (bfd_ind_section): Make const.
2001 (bfd_ind_section_ptr, bfd_is_ind_section): Define.
2002 (bfd_abs_symbol, bfd_com_symbol): Make const.
2003 (bfd_und_symbol, bfd_ind_symbol): Likewise.
2004 (global_syms): Cast initialization of section field.
2005 (STD_SECTION): Define as const, and cast initializations.
2006 * bfd-in2.h: Rebuilt.
2007 * Many files: Change uses of bfd_abs_section, etc., to use
2008 bfd_abs_section_ptr or bfd_is_abs_section, etc.
2009
263a3f17
ILT
2010Mon Jun 20 11:06:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2011
2f3508ad
ILT
2012 * Many files: change all bfd_target vectors to be const. Change
2013 all uses of bfd_target * to be const bfd_target *. Change
2014 bfd_target_vector and bfd_default_vector arrays to be const
2015 bfd_target * const *.
2016
75f3ef7a
ILT
2017 * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
2018 elf32-mips.c: Renamed all externally visible ECOFF routines which
2019 are local to BFD to start with _bfd_ecoff instead of just ecoff.
2020
aac6b32f
ILT
2021 * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
2022 (ecoff_swap_tir_out): Likewise.
2023 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
2024 (ecoff_slurp_symbolic_info): Add new arguments to correspond to
2025 read_debug_info entry point in ecoff_debug_swap structure.
2026 Change all calls.
2027 * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
2028 * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
2029 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
2030 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
2031 ecoff_debug_swap fields.
2032 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2033 * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
2034 (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
2035 fields.
2036 * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
2037 ecofflink.o.
2038 (bfd_elf32_littlemips_vec): Likewise.
2039 (ecoff_big_vec, ecoff_little_vec): Likewise.
2040 (ecoffalpha_little_vec): Likewise.
2041 * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
2042 (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
2043
6c8fa8e6
ILT
2044 * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
2045 when computing reloc sizes. From Eric Youngdale
2046 <ericy@cais.cais.com>.
2047 * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
2048 reloc count or size for a non-ELF file.
2049
6fea0659
ILT
2050 * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
2051
263a3f17
ILT
2052 * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
2053 (BMAGIC, QMAGIC): Define; used by aoutx.h.
2054 (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
2055 calls to use new parameters.
2056
785e2b52
ILT
2057Fri Jun 17 14:45:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2058
2059 * aout-target.h (MY(callback)): Set the alignments of the text,
2060 data and bss sections after determining the architecture.
2061
2062 * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
2063 dynamic object as being in the .bss section of the object, rather
2064 than as being undefined.
2065
83b69190
JL
2066Fri Jun 17 11:16:50 1994 Jeff Law (law@snake.cs.utah.edu)
2067
9fefc1be
JL
2068 * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
2069
83b69190
JL
2070 * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
2071
c46b8ed7
JL
2072Thu Jun 16 23:36:23 1994 Jeff Law (law@snake.cs.utah.edu)
2073
2074 * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
2075 if there aren't any in the input file.
2076
04003b57
ILT
2077Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
2078
2079 * i386linux.c: Many new functions and definitions for linker
2080 support for Linux shared libraries.
2081 * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
2082 * bfd-in2.h: Rebuild.
2083
2084Thu Jun 16 14:23:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2085
e3400040
ILT
2086 * config.bfd: If second argument is ``_'', then, instead of
2087 echoing config file name, echo whether target uses leading
2088 underscores on symbol names. Add appropriate settings to
2089 different cases. Used by binutils/configure.in to set default for
2090 c++filt.
2091
0ff5d3a6
ILT
2092 * elfcode.h (elf_bfd_final_link): If trying to generate a shared
2093 object, warn and return false.
2094
04003b57
ILT
2095 * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
2096 and treat them as OMAGIC.
2097
485dc654
KR
2098Wed Jun 15 18:02:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2099
2100 Enable sparc v9 support for release. Note that this is still a
2101 work in progress, pending release of an ABI specification.
2102 * config.bfd, configure.in: Include sparc v9 elf config.
2103 * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
2104 * reloc.c (bfd_reloc_code_real): New reloc types.
2105 * elf64-sparc.c: Implement elf64-sparc target.
2106 * Makefile.in, targets.c: Updated.
2107
d17fc4c9
ILT
2108Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2109
c1f84521
ILT
2110 * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
2111 (elf_dt_needed_name): New accessor macro.
2112 * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
2113 is set, use that instead of the filename for the DT_NEEDED dynamic
2114 entry.
2115 * elf.c (bfd_elf_set_dt_needed_name): New function.
2116 * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
2117 * bfd-in2.h: Rebuilt.
2118
7c726b66
ILT
2119 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
2120 argument, and set it to the .interp section.
2121 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
2122 (bfd_elf64_size_dynamic_sections): Likewise.
2123 * bfd-in2.h: Rebuilt.
2124
f1d42c04
ILT
2125 * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
2126 field of the reloc rather than letting it be garbage.
2127
aeef32f0
ILT
2128 * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
2129 __.SYMDEF; the former was used in old Linux archives. From
2130 jrs@world.std.com (Rick Sladkey).
2131
f7d2fa44
ILT
2132 * i386linux.c (i386linux_write_object_contents): Define; like
2133 MY(write_object_contents) in aout-target.h, but set MACHTYPE to
2134 M_386. From jrs@world.std.com (Rick Sladkey).
2135 (MY_write_object_contents): Define.
2136
2cd086e3
ILT
2137 * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
2138 as N_DATA symbols.
2139 (aout_link_add_symbols): Likewise.
2140
d17fc4c9
ILT
2141 * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
2142 tables.
2143 (struct stringtab_entry, struct stringtab_data): Remove.
2144 (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
2145 (struct strtab_hash_entry, struct strtab_hash): Define.
2146 (strtab_hash_newfunc, strtab_hash_lookup): Define.
2147 (stringtab_free, emit_stringtab): Define.
2148 (stringtab_init, add_to_stringtab): Rewrite.
2149 (NAME(aout,write_syms)): Use new stringtab code.
2150 (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
2151 (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
2152
2153 * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
2154 request BFD to write object in the traditional format, whatever
2155 that means for the particular backend.
2156 * bfd-in2.h: Rebuilt.
2157
2158 * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
2159 bfd_error_no_memory.
2160
ac9ed096
ILT
2161Tue Jun 14 13:00:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2162
f5419a59
ILT
2163 * libaout.h (struct aoutdata): Add q_magic_format to subformat
2164 enum.
2165 * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
2166 if not already defined. Copy subformat information.
2167 (MY_text_includes_header): Define as 0 if not already defined.
2168 (MY(backend_data)): Use MY_text_includes_header rather than 0.
2169 (MY_final_link_callback): Rename from final_link_callback, and
2170 define only if MY_final_link_callback is not already defined.
2171 (MY_bfd_final_link): Rename use of final_link_callback to
2172 MY_final_link_callback.
2173 * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
2174 ZMAGIC, but set the subformat to q_magic_format. Abort if the
2175 magic number if not recognized.
2176 (adjust_z_magic): Use QMAGIC if q_magic_format.
2177 * i386linux.c (MY_text_includes_header): Define as 1.
2178 (i386linux_bfd_final_link): New static function.
2179 (MY_bfd_final_link): Define as i386linux_bfd_final_link.
2180
2181 * aoutx.h (translate_to_native_sym_flags): Check both section and
2182 output_section against sections of abfd.
2183
ac9ed096
ILT
2184 * libecoff.h (struct ecoff_link_hash_entry): Change type of
2185 written from boolean to char. Add new field small.
2186 * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
2187 rather than false. Initialize small to 0.
2188 (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
2189 small. If small is set, and hash table type is common, force the
2190 symbol into a section named SCOMMON and change the ECOFF type from
2191 scCommon to scSCommon.
2192 (ecoff_link_write_external): Set written to 1 rather than true.
2193 * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
2194 overflow check to consider section VMA of input file.
2195
9ae74960
ILT
2196Mon Jun 13 14:20:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2197
2198 * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
2199 machine type of 68000.
2200 * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
2201 Set *unknown to true if machine type is really unknown, as opposed
2202 to M_UNKNOWN for the 68000.
2203 (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
2204 accordingly.
2205 * libaout.h (NAME(aout,machine_type)): Add new argument to
2206 prototype.
2207
8117e1ea
JL
2208Sun Jun 12 20:21:03 1994 Jeff Law (law@snake.cs.utah.edu)
2209
2210 * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
2211 or HIUX_AUX_ID.
2212 (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
2213 (som_write_armap): Use CPU_PA_RISC1_0 as the magic number. Note
2214 som.c is careful to always define CPU_PA_RISC1_0.
2215
4298e311
ILT
2216Sat Jun 11 16:32:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2217
2218 Add weak symbols as an extension to a.out.
2219 * aoutx.h (sym_in_text_section): Don't define.
2220 (sym_in_data_section, sym_in_bss_section): Likewise.
2221 (sym_is_undefined, sym_is_global_defn): Likewise.
2222 (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
2223 (sym_is_absolute, sym_is_indirect): Likewise.
2224 (translate_from_native_sym_flags): Rewrite for clarity. Rearrange
2225 arguments and change caller. Handle weak symbols.
2226 (translate_to_native_sym_flags): Likewise.
2227 (aout_link_check_ar_symbols): Don't ignore weak symbols. Pull
2228 object in from archive if a weak defintion is found for an
2229 existing undefined symbol.
2230 (aout_link_add_symbols): Put all cases in switch. Set flags of an
2231 undefined symbol to 0. Handle weak symbols.
2232 (aout_link_write_symbols): Handle weak symbols.
2233 (aout_link_write_other_symbol): Likewise.
2234 (aout_link_input_section_std): Likewise.
2235 (aout_link_input_section_ext): Likewise.
2236 * sunos.c (sunos_write_dynamic_symbol): Likewise.
2237
22aabad5
ILT
2238Fri Jun 10 13:25:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2239
4f019d04
ILT
2240 * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
2241 (NAME(aout,get_reloc_upper_bound)): Likewise.
2242
22aabad5
ILT
2243 * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
2244 * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
2245 the section of a common symbol is not NULL.
2246
2247Wed Jun 8 23:15:53 1994 Stu Grossman (grossman@cygnus.com)
2248
2249 * nlmcode.h (nlm_object_p): Set EXEC_P and start address for GDB.
2250
1b88cd18
ILT
2251Wed Jun 8 23:57:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2252
2253 * aoutx.h (aout_get_external_symbols): Don't try to read the
2254 strings if there are no symbols.
2255 (aout_link_write_other_symbol): Use the output section when
2256 working out the type.
2257
d38eee51
ILT
2258Tue Jun 7 13:25:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2259
b9ac0a53
ILT
2260 * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
2261 strtab sections at end of file. Avoids bug in some versions of
2262 SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
2263
d38eee51
ILT
2264 * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
2265 set SEC_DEBUGGING for STYP_INFO sections.
2266 (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
2267 defined, and D_PAGED is set, set the file position equal to the
2268 section VMA modulo COFF_PAGE_SIZE.
2269 * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
2270 * coff-i386.c: Set D_PAGED in BFD target.
2271 (COFF_PAGE_SIZE): Define.
2272 * coff-m68k.c, coff-sparc.c: Likewise.
2273
d8d67d66
ILT
2274Mon Jun 6 10:57:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2275
e6667b2b
ILT
2276 * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
2277 into a BFD section just because SHF_ALLOC is set; require that it
2278 not use the normal symbol table.
2279 (elf_section_from_bfd_section): Corresponding change.
2280
118e8d1c
ILT
2281 Better indirect and warning symbol handling inspired by Stuart
2282 Quick <stuck@cs.man.ac.uk>.
2283 * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
2284 (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
2285 to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
2286 REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
2287 Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
2288 from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
2289 Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
2290 WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
2291 to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
2292 (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
2293 REFC. If a new indirect symbol has been referenced, push the
2294 reference down to the symbol it points to. FIx handling of WARN.
2295 * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
2296 clobber e_type of next symbol.
2297 (translate_to_native_sym_flags): Likewise.
2298 (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
2299 as bfd_link_hash_indirect.
2300
35fee729
ILT
2301 * libaout.h (struct aout_link_hash_entry): New field written.
2302 * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
2303 (aout_link_write_symbols): Use written, not root.written.
2304 (aout_link_write_other_symbol): Likewise.
2305 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
2306 * libecoff.h (struct ecoff_link_hash_entry): New field written.
2307 * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
2308 (ecoff_link_write_external): use written, not root.written.
2309 * genlink.h (struct generic_link_hash_entry): New field written.
2310 * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
2311 (generic_link_hash_newfunc): Initialize written.
2312 (_bfd_generic_link_output_symbols): Use written, not root.written.
2313 (_bfd_generic_link_write_global_symbol): Likewise.
2314 (_bfd_generic_reloc_link_order): Likewise.
2315
469984d1
ILT
2316 * libecoff.h (ecoff_data_type): Add linker field.
2317 * ecoff.c (ecoff_write_object_contents): Check new tdata linker
2318 field, rather than outsymbols being non-NULL, to decide whether to
2319 output the symbols and relocs.
2320 (ecoff_bfd_final_link): Set new tdata linker field to true.
2321
30f34d07
ILT
2322 * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
2323 data to a non-ECOFF file.
2324
d8d67d66
ILT
2325 * libbfd-in.h: Add warning that libbfd.h is a generated file.
2326 * libbfd.h: Rebuilt.
2327
a04e14b6
ILT
2328Sun Jun 5 15:02:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2329
fa15568a
ILT
2330 Changes to support ELF strip and objcopy on dynamically linked
2331 files.
2332 * elfcode.h (elf_fake_sections): Add prototype.
2333 (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
2334 section, and from an SHT_DYNSYM section, and from the dynamic
2335 string table section.
2336 (elf_object_p): Set D_PAGED if there is a program header.
2337 (elf_make_sections): Remove.
2338 (fix_up_strtabs): Remove.
2339 (elf_fake_sections): Rewrite. Now sets sh_entsize.
2340 (assign_section_numbers): Rewrite. Now sets sh_link and sh_info
2341 for all sections.
2342 (elf_compute_section_file_positions): Don't call obsolete
2343 functions elf_make_sections or fix_up_strtabs.
2344 (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
2345 (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
2346 objects.
2347 (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
2348 sections. If an SHT_REL or SHT_RELA section is allocated or uses
2349 an unusual symbol table, permit a BFD section to map to it.
2350 Permit most SHT_STRTAB sections to have a BFD section mapped to
2351 them.
2352 (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
2353 fields of dynamic sections here; do it in assign_section_numbers.
2354 * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
2355 flags.
2356
a04e14b6
ILT
2357 * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
2358 SEC_LOAD is set, rather than checking SEC_ALLOC.
2359
2360 * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
2361
4ee3b9be
JL
2362Fri Jun 3 10:58:02 1994 Jeff Law (law@snake.cs.utah.edu)
2363
99fa5510
JL
2364 * som.c (som_write_object_contents): Don't compute the file header's
2365 checksum here.
2366 (som_write_headers): Instead do it here.
2367
4ee3b9be
JL
2368 * libbfd.h (bfd_realloc): Change last arg to "size_t size".
2369
e85e8bfe
ILT
2370Thu Jun 2 17:39:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2371
2855b89f
ILT
2372 * hosts/sun3.h: Include <stdlib.h>. Don't declare free, exit or
2373 getenv.
2374
e85e8bfe
ILT
2375 Add linker support for SunOS shared libraries.
2376 * sunos.c: Include bfdlink.h. Add many new functions and
2377 definitions for SunOS shared library support.
2378 * bfd-in.h (bfd_sunos_record_link_assignment): Declare.
2379 (bfd_sunos_size_dynamic_sections): Declare.
2380 * bfd-in2.h: Rebuilt.
2381 * aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
2382 (struct aout_link_hash_table): Likewise.
2383 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
2384 (aout_hash_table): Likewise.
2385 (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
2386 and make externally visible.
2387 (NAME(aout,link_hash_table_init)): New function.
2388 (NAME(aout,link_hash_table_create)): Call
2389 NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
2390 (aout_link_add_symbols): Don't fail if no symbols. If it exists,
2391 call add_dynamic_symbols backend entry point for dynamic objects.
2392 Use add_one_symbol backend entry point if it exists.
2393 (NAME(aout,final_link)): Call finish_dynamic_link backend entry
2394 point, if it exists.
2395 (aout_link_input_bfd): For a dynamic object, call
2396 link_dynamic_object backend entry point, if it exists.
2397 (aout_link_write_other_symbol): Call write_dynamic_symbol backend
2398 entry point, if it exists.
2399 (aout_link_input_section): Don't read the relocs if they have
2400 already been read.
2401 (aout_link_input_section_std): When doing a final link, for a
2402 reloc against an external symbol, call check_dynamic_reloc backend
2403 entry point, if it exists.
2404 (aout_link_input_section_ext): Likewise.
2405 * libaout.h: Protect against multiple inclusion. Include
2406 bfdlink.h.
2407 (struct aout_link_hash_entry): Move in from aoutx.h.
2408 (struct aout_link_hash_table): Likewise.
2409 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
2410 (aout_hash_table): Likewise.
2411 (struct aout_backend_data): Add fields add_dynamic_symbols,
2412 add_one_symbol, link_dynamic_object, write_dynamic_symbol,
2413 check_dynamic_reloc, and finish_dynamic_link.
2414 (struct aout_section_data_struct): Define new structure.
2415 (aout_section_data): Define new accessor macro.
2416 (NAME(aout,link_hash_newfunc)): Declare.
2417 (NAME(aout,link_hash_table_init)): Declare.
2418 * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
2419 fields.
2420 * aout-target.h (MY(backend_data)): Likewise.
2421 * i386aout.c (MY(backend_data)): Likewise.
2422 * i386mach3.c (MY(backend_data)): Likewise.
2423 * mipsbsd.c (MY(backend_data)): Likewise.
2424 * sparclynx.c (sparclynx_aout_backend): Likewise.
2425
2426 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
2427 until we know it is non-NULL.
2428 (aout_link_write_symbols): Don't skip a warning symbol even if it
2429 has already been written out. If skipping an indirect symbol,
2430 skip the next symbol as well.
2431
220642fd
ILT
2432Wed Jun 1 14:37:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2433
2434 * hosts/sun3.h: Don't declare qsort, malloc or realloc.
2435
c06e55d9
KR
2436Thu May 26 13:56:03 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2437
2438 * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
2439 to char pointer to avoid compiler warnings.
2440
2441 * dep-in.sed: Remove spaces before colons.
2442
2443 Merged changes back in from FSF gas release 2.3:
2444
2445 * Makefile.in (stmp-bfd.h): Wrap `if' block around grep
2446 invocation, to avoid a bug in BSD 4.4 make.
2447
2448 From Ralph Campbell:
2449 * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
2450 error.
2451 (mips_fix_hi16_s): Ditto.
2452
2453 Fri May 13 21:21:00 1994 DJ Delorie (dj@ctron.com)
2454
2455 * makefile.dos: define a default target, or archives won't work
2456 due to multiple matches.
2457
2458 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
2459
2460 * configure.bat: update for latest files
2461 * makefile.dos: update for correct targets and sources
2462 * coff-go32.c: [new] go32's COFF format (i386coff with underscores)
2463 * targets.c: add go32coff target
2464 * makefile.in: add coff-go32.c support
2465
ada45a2a
JL
2466Thu May 26 10:10:21 1994 Jeff Law (law@snake.cs.utah.edu)
2467
2468 * som.c (som_prep_headers): Do not set the system_id here, private
2469 bfd data has not been copied yet.
2470 (som_write_headers): Instead do it here.
2471
5315c428
ILT
2472Tue May 24 16:17:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2473
2474 Make MIPS ELF use new ELF backend linker. No shared library
2475 support yet.
2476 * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
2477 (bfd_mips_elf32_swap_gptab_out): New function.
2478 (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
2479 (mips_elf_final_write_processing): Set sh_info field for .gptab.*
2480 sections.
2481 (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
2482 (mips_elf_read_ecoff_info): Read and free external symbols last,
2483 not first, for clarity.
2484 (struct mips_elf_link_hash_entry): Define new structure.
2485 (struct mips_elf_link_hash_table): Define new structure.
2486 (mips_elf_link_hash_lookup): Define new macro.
2487 (mips_elf_link_hash_traverse): Define new macro.
2488 (mips_elf_hash_table): Define new macro.
2489 (mips_elf_link_hash_newfunc): New static function.
2490 (mips_elf_link_hash_table_create): New static function.
2491 (mips_elf_add_symbol_hook): New static function.
2492 (struct extsym_info): Define new structure.
2493 (mips_elf_get_extr, mips_elf_set_index): Remove.
2494 (mips_elf_output_extsym): New static function.
2495 (gptab_compare): New static function.
2496 (mips_elf_final_link): Rewrite to use ELF backend linker, and to
2497 merge gptab information in input files.
2498 (mips_elf_relocate_hi16): New static function.
2499 (mips_elf_relocate_section): New static function.
2500 (bfd_elf32_bfd_link_hash_table_create): Define as macro before
2501 including elf32-target.h.
2502 (elf_backend_relocate_section): Likewise.
2503 (elf_backend_add_symbol_hook): Likewise.
2504 * elf.c (_bfd_elf_link_hash_newfunc): Rename from
2505 elf_link_hash_newfunc and make globally visible. Change caller.
2506 (_bfd_elf_link_hash_table_init): New function, broken out of
2507 _bfd_elf_link_hash_table_create.
2508 (_bfd_elf_link_hash_table_create): Use
2509 _bfd_elf_link_hash_table_init.
2510 * libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
2511 (elf_bad_symtab): Define new accessor macro.
2512 (_bfd_elf_link_hash_newfunc): Declare.
2513 (_bew_elf_link_hash_table_init): Declare.
2514 * elfcode.h (elf_object_p): Call backend object_p hook after
2515 swapping in all the section headers.
2516 (map_program_segments): Correct typo: Internal for External.
2517 (elf_link_add_object_symbols): If elf_bad_symtab is set, read all
2518 the symbols. Skip STB_LOCAL symbols rather than giving an error.
2519 (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
2520 all symbols, not just locals.
2521 (elf_link_output_extsym): Only skip a symbol not mentioned by a
2522 regular file if it is mentioned by a dynamic object.
2523 (elf_link_input_bfd): If elf_bad_symtab is set, read all the
2524 symbols.
2525
88bbe402
JL
2526Fri May 20 13:38:23 1994 Jeff Law (law@snake.cs.utah.edu)
2527
2528 * som.c (som_set_reloc_info): Do not set any relocation info
2529 for SOM fixups which are never passed to BFD.
2530
497c5434
ILT
2531Fri May 20 11:57:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2532
c8588f2f
ILT
2533 * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
2534 checking.
2535
95b77361
ILT
2536 * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
2537 the dynamic linking information for the benefit of the debugger.
2538 From Peter Schauer.
2539 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
2540
497c5434
ILT
2541 * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
2542 code repeated three times in bfd_section_from_shdr in elfcode.h.
2543 * libelf.h (_bfd_elf_make_section_from_shdr): Declare.
2544 * elfcode.h (bfd_section_from_shdr): Use new function
2545 _bfd_elf_make_section_from_shdr to create BFD sections. If a
2546 reloc section does not use the main symbol table, or it is part of
2547 the process image, treat it as a normal section, not relocs.
2548 * elf32-mips.c (mips_elf_section_from_shdr): Use new function
2549 _bfd_elf_make_section_from_shdr.
2550
013dec1a
ILT
2551Thu May 19 11:37:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2552
7a0c782d
ILT
2553 * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
2554 15 to 14 to match SVR4 ar.
2555
013dec1a
ILT
2556 Add support for ELF shared libraries. Loosely based on work by
2557 Eric Youngdale <ericy@cais.com>.
2558 * libelf.h (struct elf_backend_data): Add new fields for dynamic
2559 linking: elf_backend_create_dynamic_sections,
2560 elf_backend_adjust_dynamic_symbol,
2561 elf_backend_size_dynamic_sections,
2562 elf_backend_finish_dynamic_symbol,
2563 elf_backend_finish_dynamic_sections.
2564 (struct elf_link_hash_entry): Change type of align field to
2565 bfd_size_type. Add fields dynindx, dynstr_index, weakdef,
2566 elf_link_hash_flags.
2567 (struct elf_link_hash_table): Add fields dynobj, dynsymcount,
2568 dynstr, bucketcount.
2569 (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
2570 (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
2571 (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
2572 (bfd_elf32_add_dynamic_entry): Declare.
2573 (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
2574 (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
2575 (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
2576 (bfd_elf64_add_dynamic_entry): Declare.
2577 * elfcode.h (Elf_External_Dyn): Define.
2578 (elf_swap_reloc_in): Define as macro using NAME. Make externally
2579 visible.
2580 (elf_swap_reloc_out): Likewise.
2581 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
2582 (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
2583 and as new externally visible function.
2584 (elf_fake_sections): Set section type of dynamic sections based on
2585 section names.
2586 (elf_write_phdrs): Remove.
2587 (assign_file_position_for_section): Add new align argument.
2588 Change all callers.
2589 (get_program_header_size): New static function.
2590 (struct seg_info): Remove.
2591 (map_program_segments): Completely rewrite.
2592 (assign_file_positions_except_relocs): Completely rewrite.
2593 (assign_file_positions_for_relocs): Don't set a file position for
2594 sections which already have one. Don't bother to align the file
2595 position here.
2596 (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
2597 section types.
2598 (elf_section_from_bfd_section): Likewise.
2599 (elf_slurp_symbol_table): If section_from_elf_index fails, just
2600 use bfd_abs_section rather than returning an error.
2601 (elf_sizeof_headers): Make useful.
2602 (elf_link_record_dynamic_symbol): New static function.
2603 (elf_link_add_object_symbols): Handle dynamic objects.
2604 (elf_link_create_dynamic_sections): New static function.
2605 (elf_add_dynamic_entry): Define as macro using NAME and as new
2606 externally visible function.
2607 (NAME(bfd_elf,record_link_assignment)): New function.
2608 (elf_buckets): New static variable.
2609 (NAME(bfd_elf,size_dynamic_sections)): New function.
2610 (struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
2611 (elf_bfd_final_link): Handle dynamic linking. Create a section
2612 symbol for all ELF sections, not all BFD sections. Store section
2613 symbol index in target_index field, not index field. Traverse
2614 over global symbols even if stripping.
2615 (elf_link_output_extsym): Output dynamic symbols. Mark symbols
2616 defined by dynamic objects as undefined.
2617 (elf_link_input_bfd): Ignore dynamic objects. Use target_index
2618 field for section relocs, and make sure it is set.
2619 (elf_reloc_link_order): Use target_index field for section relocs,
2620 and make sure it is set.
2621 * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
2622 weakdef and elf_link_hash_flags fields.
2623 (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
2624 dynstr and bucketcount fields.
2625 * elf32-target.h: Initialize new dynamic linking fields.
2626 * elf64-target.h: Likewise.
2627 * elf32-i386.c: New functions for dynamic linking support.
2628 * elf32-sparc.c: Likewise.
2629 * bfd-in.h (bfd_elf32_record_link_assignment): Declare.
2630 (bfd_elf64_record_link_assignment): Declare.
2631 (bfd_elf32_size_dynamic_sections): Declare.
2632 (bfd_elf64_size_dynamic_sections): Declare.
2633 * bfd-in2.h: Rebuilt.
2634
82492ca1
ILT
2635Wed May 18 08:29:04 1994 Ian Lance Taylor (ian@cygnus.com)
2636
2637 * som.c: Don't include <sys/dir.h> or <sys/user.h>.
2638 (som_reloc_queue_find): Call memcmp instead of bcmp.
2639 (som_bfd_reloc_type_lookup): Change first argument to bfd *.
2640 (compare_syms): Change types of arguments to const void *.
2641 (bfd_section_from_som_symbol): Removed unused local found.
2642 (som_write_armap): Add elength, map, orl_count and int arguments.
2643 (som_write_armap): Use %ld and cast to long for getuid result.
2644
673aceca
JL
2645Wed May 18 09:09:32 1994 Jeff Law (law@snake.cs.utah.edu)
2646
2647 * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
2648 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
2649
2650 * som.h (R_HPPA_ABS_CALL): Define.
2651 * som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
2652
0f62bdc0
KR
2653Tue May 17 19:33:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2654
2655 * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
2656 underscore, for compatibility with Intel tool chain (gnu960v2).
2657
c3cb04b4
JL
2658Mon May 16 10:09:22 1994 Jeff Law (law@snake.cs.utah.edu)
2659
459ae909
JL
2660 * bfd-in2.h: Rebuilt.
2661
2662 * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
2663 likewise for other PA specific sections.
2664 (hppa_elf_relocate_unwind_table): Delete unused
2665 function.
2666 (elf_hppa_howto_table): Completely new table based on 94-02-02
2667 draft PA ELF spec. Change relocation tags appropriately
2668 throughout elf32-hppa.c
2669 (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
2670 spec.
2671 (hppa_elf_reloc): Likewise.
2672 (hppa_look_for_stubs_in_section): Likewise
2673 (ELF_MACHINE_CODE): Change to EM_PARISC.
2674 * elf32-hppa.h: Include "elf/hppa.h". Change relocation tags
2675 appropriately throughout elf32-hppa.h.
2676 (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
2677 spec.
2678 (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
2679 * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
2680 * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
2681 * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
2682
c3cb04b4
JL
2683 * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
2684 the final value twice for LR and RR field selectors.
2685
cb9461ff
JK
2686Sat May 14 09:09:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2687
2688 * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This
2689 avoids __eprintf troubles.
2690
8db528c8
ILT
2691Fri May 13 10:51:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2692
0d898d03
ILT
2693 * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
2694
8db528c8
ILT
2695 * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
2696 ecoff_little_vec since Irix 5 supports ECOFF executables.
2697
666f5925
ILT
2698Wed May 11 00:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2699
4fa4476b
ILT
2700 * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
2701 correctly.
2702
666f5925
ILT
2703 * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
2704 make to invoke the shell.
2705
c16313f0
ILT
2706Tue May 10 14:23:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2707
2708 * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
2709 SEC_SHARED_LIBRARY for clarity. Changed all uses.
2710 * bfd-in2.h: Rebuilt.
2711 * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
2712 set, set STYP_NOLOAD.
2713 * coffgen.c (coff_section_from_bfd_index): Don't get an assertion
2714 failure because of a bad shared library.
2715
eeb8c187
BC
2716Mon May 9 18:53:40 1994 Bill Cox (bill@rtl.cygnus.com)
2717
2718 * linker.c: Add missing comment terminator.
2719
6ec3bb6a
ILT
2720Mon May 9 11:53:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2721
8e5090ce
ILT
2722 * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
2723 are not NULL, assume the caller has already looked up the symbol
2724 in the hash table and has stored the entry in *hashp.
2725 (generic_link_add_symbol_list): Set h to NULL before calling
2726 _bfd_generic_link_add_one_symbol.
2727 * ecoff.c (ecoff_link_add_externals): Likewise.
2728
2729 * elfcode.h (assign_file_positions_except_relocs): Don't require
2730 page shared between .data and .bss segments to contain zeroes.
2731
6ec3bb6a
ILT
2732 * elfcode.h: Include bfdlink.h. Added several new functions to do
2733 linking.
2734 (ELF_R_TYPE): Define.
2735 (bfd_add_to_strtab): Return unsigned long. Change check for
2736 realloc failure.
2737 (elf_fake_sections): Check return value of bfd_add_to_strtab.
2738 (elf_compute_section_file_positions): Add link_info argument.
2739 Call elf_backend_begin_write_processing hook and prep_headers
2740 here. Only call swap_out_syms if link_info is NULL. Set up
2741 .shstrtab section here. Pass dosyms argument to
2742 assign_file_positions_except_relocs. Set output_has_begun flag.
2743 (assign_file_positions_for_symtab_and_strtabs): Add dosyms
2744 argument, and use it to control setting .symtab and .strtab file
2745 positions.
2746 (assign_file_positions_except_relocs): Add dosyms argument, and
2747 pass it on.
2748 (prep_headers): Check return value of bfd_add_to_strtab.
2749 (swap_out_syms): Likewise. Also, don't set up .shstrtab here.
2750 (NAME(bfd_elf,write_object_contents)): Some calls moved into
2751 elf_compute_section_file_positions.
2752 (elf_set_section_contents): Likewise.
2753 (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
2754 * libelf.h: Include bfdlink.h.
2755 (struct elf_backend_data): Add fields collect,
2756 elf_add_symbol_hook, elf_backend_relocate_section.
2757 (struct bfd_elf_section_data): Add field rel_hashes.
2758 (struct elf_obj_tdata): Remove fields internal_syms and symbols.
2759 Add field sym_hashes.
2760 (obj_symbols, obj_internal_syms): Remove definitions.
2761 (elf_sym_hashes): Define.
2762 (struct elf_link_hash_entry): Define.
2763 (struct elf_link_hash_table): Define.
2764 (elf_link_hash_lookup): Define.
2765 (elf_link_hash_traverse): Define.
2766 (elf_hash_table): Define.
2767 (_bfd_elf_link_hash_table_create): Declare.
2768 (bfd_elf32_bfd_link_add_symbols): Declare.
2769 (bfd_elf32_bfd_final_link): Declare.
2770 (bfd_elf64_bfd_link_add_symbols): Declare.
2771 (bfd_elf64_bfd_final_link): Declare.
2772 * elf.c: Include bfdlink.h.
2773 (elf_link_hash_newfunc): New function.
2774 (_bfd_elf_link_hash_table_create): New function.
2775 * elf32-target.h (elf_backend_relocate_section): If not defined,
2776 define as 0 and use generic linker. Otherwise, use ELF backend
2777 linker.
2778 (elf_backend_collect): If not defined, define as false.
2779 (elf_backend_add_symbol_hook): If not defined, define as 0.
2780 (elf32_bed): Initialize new fields.
2781 * elf64-target.h: Same changes as elf32-target.h.
2782 * elf32-i386.c: Include bfdlink.h.
2783 (elf_i386_relocate_section): New function.
2784 (elf_backend_relocate_section): Define.
2785 * elf32-sparc.c: Include bfdlink.h.
2786 (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
2787 to Elf_Internal_Rela (they're the same type anyhow).
2788 (elf_sparc_relocate_section): New function.
2789 (elf_backend_relocate_section): Define.
2790 * elf32-mips.c (elf_backend_collect): Define.
2791
2792 * Makefile.in (stmp-bfd.h): Avoid useless make error message in a
2793 different way; touch takes a numeric argument on some systems.
2794
2795Fri May 6 13:34:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2796
2797 * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
2798 handling for latest suggested format.
2799 (nlm_swap_auxiliary_headers_out): Likewise.
2800 (nlm_compute_section_file_positions): Likewise.
2801
2802Fri May 6 11:11:50 1994 D. V. Henkel-Wallace (gumby@rtl.cygnus.com)
2803
2804 * config.bfd: handle erricsson config (for OSE).
2805
2806Thu May 5 15:40:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2807
2808 Patches from Ralph Campbell:
2809 * mipsbsd.c (mips_fix_jmp_addr): New function.
2810 (mips_fix_hi16_s): Use bfd_is_com_section.
2811 (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
2812
d66da742
SC
2813Fri May 6 11:48:55 1994 Steve Chamberlain (sac@cygnus.com)
2814
2815 * config/go32.mh: XX support.
2816
2817 From bill
2818 * Makefile.in: Build sysdep.h without causing worrying but
2819 harmless error message.
2820
77d11284
ILT
2821Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com)
2822
2823 Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
2824 * aout0.c: New file.
2825 * targets.c (aout0_big_vec): Declare.
2826 (bfd_target_vector): Add aout0_big_vec.
2827 * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
2828 * config/m68k-aout.mt (SELECT_VECS): Removed.
2829 * config/m68k-0aout.mt: New file.
2830 * configure.in (aout0_big_vec): New target vector: use aout0.o,
2831 aout32.o and stab-syms.o.
2832 * Makefile.in: Rebuilt dependencies.
2833 (BFD32_BACKENDS): Add aout0.o.
2834 (CFILES): Add aout0.c.
2835
2836 * libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
2837 * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
2838 MY(backend_data): Initialize exec_hdr_flags field.
2839 * aoutf1.h (sunos_32_set_arch_mach): Make static.
2840 (aout32_sunos4_write_object_contents): Set flags from backend
2841 info.
2842 (MY_exec_hdr_flags): If not defined, define as 1.
2843 (sunos4_aout_backend): Initialize exec_hdr_flags field.
2844 * aout-encap.c (encap_write_object_contents): Set flags from
2845 backend info.
2846 (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
2847 * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
2848 (MY(write_object_contents)): Set flags from backend info.
2849 * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
2850 * i386mach3.c (MY(backend_data)): Likewise.
2851 * mipsbsd.c (MY(backend_data)): Likewise.
2852 * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
2853 flags from backend info.
2854 (sparclynx_aout_backend): Initialize exec_hdr_flags field.
2855
127f8e91
KR
2856Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2857
2858 * config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
2859 (m68*-apollo-*): Treat all Apollo configs the same, don't handle
2860 BSD specially.
2861
92400edb
ILT
2862Tue May 3 19:43:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2863
2864 * cache.c: Rewrote to work correctly.
2865 * libbfd.h: Rebuilt.
2866 * opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
2867 (bfd_fdopenr): Check return value of bfd_cache_init.
2868
e3361fc3
ILT
2869Fri Apr 29 15:08:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2870
2871 * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
2872 enumerating them, since the reloc type can not serve as an index
2873 into the m68k COFF howto_table.
2874
7c6ba201
SC
2875Fri Apr 29 09:42:39 1994 Steve Chamberlain (sac@cygnus.com)
2876
dbf13547 2877 * config.bfd (*-go32): Changed to coff.
7c6ba201 2878 * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
dbf13547
SC
2879 * srec.c (srec_write_symbols): Write out the correct number of
2880 symbols and don't stick in extra nulls.
7c6ba201 2881
380c60b1
SS
2882Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com)
2883
2884 * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
2885 * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
2886 (COFF_SPARC): Define.
2887 * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
2888 power of data and bss sections to 3.
2889 * hosts/lynx.h (__LYNXOS): Define.
2890
6c101bcf
JL
2891Tue Apr 26 15:04:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2892
2893 * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
2894 against section symbols to avoid losing during ld -r.
2895
2896Tue Apr 26 12:16:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2897
2898 * elfcode.h (shstrtab_length_fixed): Remove useless static
2899 variable.
2900 (struct elf_sect_data): Remove unused structure.
2901 (elf_object_p): Free memory if error occurs. Check return value
2902 of bfd_default_set_arch_mach. If elf_get_str_section fails,
2903 preserve error code rather than setting wrong_format.
2904 (null_shdr): Remove static variable.
2905 (assign_section_numbers): Remove shstrtab_length_fixed assignment.
2906 Allocate first section header on BFD obstack rather than using
2907 null_shdr.
2908 (bfd_prpsinfo): Remove unused local variable newsect.
2909
2e03ce18
ILT
2910Mon Apr 25 15:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2911
ba436e33
ILT
2912 * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
2913
2e03ce18
ILT
2914 * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
2915 to create sections. Check return value of recursive calls.
2916 (bfd_section_from_phdr): Check return value of bfd_make_section.
2917 (elf_symbol_from_bfd_symbol): Likewise.
2918 (elf_object_p): Check return value of bfd_section_from_shdr.
2919 (section_from_elf_index): Likewise.
2920 (elf_slurp_symbol_table): Check return value of
2921 section_from_elf_index.
2922 (bfd_prstatus): Return boolean value. Check return value of
2923 bfd_make_section.
2924 (bfd_fpregset): Likewise.
2925 (bfd_prpsinfo): Return boolean value.
2926 (elf_corefile_note): Check return values of bfd_prstatus,
2927 bfd_fpregset, and bfd_prpsinfo.
2928 (elf_core_file_p): Check return value of elf_corefile_note.
2929
79167def
ILT
2930Fri Apr 22 11:08:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2931
cc71e155
ILT
2932 Get rid of the ECOFF .reginfo section hack.
2933 * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
2934 (ecoff_new_section_hook): Don't handle the .reginfo section.
2935 (ecoff_sizeof_headers): Likewise.
2936 (ecoff_get_section_contents): Likewise.
2937 (ecoff_compute_section_file_positions): Likewise.
2938 (ecoff_compute_reloc_file_positions): Likewise.
2939 (ecoff_set_section_contents): Likewise.
2940 (ecoff_write_object_contents): Likewise.
2941 (ecoff_bfd_final_link): Likewise.
2942 (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
2943 register masks.
2944 (bfd_ecoff_get_gp_value): New function.
2945 (bfd_ecoff_set_gp_value): New function.
2946 (bfd_ecoff_set_regmasks): New function.
2947 * bfd-in.h (bfd_ecoff_get_gp_value): Declare.
2948 (bfd_ecoff_set_gp_value): Declare.
2949 (bfd_ecoff_set_regmasks): Declare.
2950 * bfd-in2.h: Rebuilt.
2951
1bb42b1f
ILT
2952 Fix ECOFF objcopy to actually copy debugging information.
2953 * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
2954 (ecoff_get_extr): Assume that any ECOFF symbol with local clear is
2955 an external symbol, rather than checking the symbol flags. Only
2956 check the flags for non-ECOFF symbols.
2957 * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
2958 output_section field of the symbol section is NULL.
2959 * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
2960 function rather than defining as macro.
2961
d290d8da
ILT
2962 * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
2963 appropriate.
2964
2965 * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
2966
80a903c9
ILT
2967 * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
2968 bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as
2969 bfd_arch_unknown.
2970 * coffcode.h (coff_set_arch_mach): Check return value of
2971 bfd_default_set_arch_mach.
2972 * elfcode.h (elf_set_arch_mach): Don't check a list of ELF
2973 architectures, just see if the desired architecture matches what
2974 the ELF backend permits.
2975
2976 * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
2977 SH_ARCH_MAGIC to match change in coff/sh.h.
2978 (coff_set_flags): Likewise.
2979
79167def
ILT
2980 Follow convention in which each NLM header has an 8 byte stamp
2981 followed by a four byte length.
2982 * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
2983 to nlm_cygnus_ext_header, and change type to
2984 Nlm_Internal_Cygnus_Ext_Header.
2985 (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
2986 * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
2987 of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require
2988 length word to be 8.
2989 (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
2990 cygnus_ext. Set length word to 8.
2991 (nlm_compute_section_file_positions): Rename from cygnus_section
2992 to cygnus_ext.
2993
7f772644
SG
2994Thu Apr 21 22:54:22 1994 Stu Grossman (grossman at cygnus.com)
2995
2996 * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table
2997 (from CyGnUsSeCs) in more permanent memory to keep section names
2998 from getting trashed.
2999
cb71adf1
PS
3000Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3001
3002 * libelf.h (elf_obj_tdata): Add members for dynamic symbol table
3003 handling.
3004 * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table.
3005 * elfcode.h (elf_slurp_symbol_table): Take additional parameter
3006 to select static or dynamic symbol table and return number of
3007 symbols slurped or -1 on error.
3008 * elfcode.h (elf_get_symtab): Set bfd symcount from
3009 elf_slurp_symbol_table result.
3010 * elfcode.h (elf_get_dynamic_symtab_upper_bound,
3011 elf_canonicalize_dynamic_symtab): New functions to handle dynamic
3012 symbol table.
3013 * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
3014 Change to handle dynamic symbol table, provide default definitions
3015 for dynamic relocs.
3016 * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
3017 NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
3018 aout_link_reloc_link_order): Handle r_jmptable and r_relative
3019 relocations.
3020
6c534df0
ILT
3021Thu Apr 21 11:58:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3022
1eff2af3
ILT
3023 Clean up uses of _bfd_dummy_target (from Peter Schauer).
3024 * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
3025 * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
3026 NULL.
3027 * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
3028 _bfd_check_format.
3029 (symbolsrec_vec): Likewise.
3030 * tekhex.c (tekhex_vec): Likewise.
3031
6c534df0
ILT
3032 * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
3033 field.
3034 (nlm_cygnus_section_header): New accessor macro.
3035 * nlmcode.h (nlm_object_p): Free new tdata structure if failure.
3036 Add fixed sections before swapping in auxiliary headers. After
3037 adding sections, treat errors as real, not as wrong format.
3038 (nlm_swap_auxiliary_headers_in): Swap in the sections header; add
3039 sections to the BFD for each section it describes.
3040 (nlm_swap_auxiliary_headers_out): Swap out the sections header.
3041 (nlm_compute_section_file_positions): Account for the size of the
3042 sections header.
3043
71363c41
KR
3044Wed Apr 20 16:45:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3045
4a5bfdbc
KR
3046 * coff-sparc.c (sparccoff_vec): Change minimum alignment power to
3047 2, so that stab sections can be multiples of 4 bytes only.
3048
71363c41
KR
3049 * hosts/i386aix.h: Changes to avoid prototypes conflicts with the
3050 ones defined in stdlib.h. (From Minh Tran-Le.)
3051
476d01f0 3052Wed Apr 20 14:15:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
476d01f0
ILT
3053
3054 * nlm32-ppc.c: Complete rewrite for new version of PowerPC
3055 NetWare. Old code still present, but ifdeffed out.
476d01f0
ILT
3056
3057 * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
3058 particular format for the customer header. Allocate a block of
3059 memory and read it into that.
3060 (nlm_swap_auxiliary_headers_out): Write out the block of memory.
3061 (nlm_compute_section_file_positions): Include length of customer
3062 header when computing its size.
3063
69478700
JL
3064Mon Apr 18 14:27:17 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3065
3066 * som.c (som_prep_headers): Get the space's number from the
3067 backend private section data rather than target_index.
3068 (bfd_som_set_section_attributes): Store the space's number
3069 in the backend private section data rather than target_index.
3070
3071 * som.h (som_copyable_section_data_struct): Add space_number.
3072
2ec2e6a9
ILT
3073Fri Apr 15 12:22:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3074
09ed3666
ILT
3075 * coff-a29k.c (reloc_processing): Always set the address of a
3076 R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
3077 gas does this anyhow, but some other assemblers seem to leave
3078 garbage in the R_IHCONST address field.
3079
97ea252e
ILT
3080 * bfd/archive.c: Consistently use ARFMAG; from
3081 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
3082 (_bfd_write_archive_contents): Use ARFMAG rather than '`' and
3083 '\012'.
3084 (bsd_write_armap): Likewise.
3085 (coff_write_armap): Likewise.
3086
ef79dba3
ILT
3087 * coff-mips.c (mips_relocate_section): When relaxing, adjust local
3088 relocs against the .text section as required.
3089 * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
3090 PDR addresses as required.
3091
2ec2e6a9
ILT
3092 * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdr
3093 index through rfd map if it exists. Check for a couple of cases
3094 which gdb handles specially. Change all callers.
3095 (ecoff_type_to_string): Take fdr argument rather than aux_ptr and
3096 bigendian argument. Change all callers.
3097 (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
3098
4f996613
ILT
3099Thu Apr 14 13:05:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3100
3101 * coff-mips.c (mips_howto_table): Add dummy entries to account for
3102 numbering changes in include/coff/mips.h. Add entries for
3103 MIPS_R_RELHI and MIPS_R_RELLO.
3104 (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
3105 when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI
3106 relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
3107 bits.
3108 (mips_ecoff_swap_reloc_out): Likewise.
3109 (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
3110 MIPS_R_RELHI relocs like MIPS_R_SWITCH.
3111 (mips_adjust_reloc_out): Likewise.
3112 (mips_relhi_addr, mips_relhi_addend): New static variables.
3113 (mips_relhi_reloc, mips_rello_reloc): New functions.
3114 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
3115 MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
3116 (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
3117 argument. Changed all callers.
3118 (mips_relocate_section): Rename got_reflo to got_lo and
3119 reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI
3120 relocs.
3121 (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
3122 expanding a PC relative call.
3123
3124 * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
3125 and BFD_RELOC_PCREL_LO16.
3126 * bfd-in2.h: Rebuilt.
3127
1a000744
SS
3128Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com)
3129
3130 * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
3131
41194a4a
JL
3132Tue Apr 12 13:36:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3133
3134 * som.c (som_write_fixups): Always emit at least
3135 one relocation for any non-bss section.
3136
bf08d1e2
ILT
3137Mon Apr 11 14:41:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3138
3139 * elfcode.h (assign_file_positions_except_relocs): Don't require
3140 the file alignment to correspond to the page size when linking
3141 with -N.
3142
9a5334e5
JL
3143Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3144
3145 * elfcode.h (write_relocs): For rela relocations, adjust the
3146 addend for relocations involving section symbols to account
3147 for the lossage of 1:1 mapping from input section symbols to
3148 output section symbols.
3149
e48f985c
ILT
3150Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3151
ec6b18c4
ILT
3152 * aoutx.h (NAME(aout,make_sections)): New function.
3153 (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
3154 rather than making sections inline.
3155 (NAME(aout,mkobject)): Don't make any sections.
3156 (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
3157 (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
3158 obj_datasec (abfd) if they are NULL.
3159 * libaout.h (NAME(aout,make_sections)): Declare.
3160 * bout.c (b_out_mkobject): Don't make any sections.
3161 (b_out_write_object_contents): Call aout_32_make_sections.
3162 (b_out_set_section_contents): Likewise.
3163 * i386os9k.c (os9k_mkobject): Don't make any sections.
3164 (os9k_write_object_contents): Call aout_32_make_sections.
3165 (os9k_set_section_contents): Likewise.
3166
e48f985c
ILT
3167 * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
3168 index.
3169
06863047
PS
3170Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3171
3172 * config.bfd, configure.host: Add mips-*-sysv4* support.
3173
dabf906e
ILT
3174Thu Apr 7 14:23:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3175
3176 * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
3177 (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
3178 r_offset and set r_symndx to RELOC_SECTION_TEXT.
3179 (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
3180 value from the r_offset field.
3181 (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
3182 For MIPS_R_SWITCH, copy the r_offset field into the addend field.
3183 (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
3184 into the r_offset field.
3185 (mips_switch_reloc): New function.
3186 (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
3187 MIPS_R_SWITCH.
3188 (mips_relocate_section): Handle MIPS_R_SWITCH.
3189 (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
3190
99a6c761
JL
3191Thu Apr 7 11:10:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3192
3193 * elfcode.h (elf_set_section_contents): Support calling the backend
3194 function elf_backend_begin_write_processing when just beginning to
3195 write an object file.
3196
3197 * libelf.h (elf_backend_begin_write_processing): Declare.
3198
3199 * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
3200 a default definition.
3201 (elf{32,64}_bed): Add elf_backend_begin_write_processing.
3202
3203 * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
3204 (elf_hppa_tc_make_sections): Likewise.
3205
3206 * elf32-hppa.c (symext_chain_built): Delete.
3207 (symext_chain_size): Renamed from symextn_contents_real_size.
3208 (elf32_hppa_backend_{begin,final}_write_processing): New functions.
3209 (add_entry_to_symext_chain): New function.
3210 (hppa_elf_set_section_contents): Ignore writes to the symbol extension
3211 section until it's been rebuilt internally.
3212 (hppa_elf_get_section_contents): Symbol extension section is no
3213 longer special.
3214 (elf_backend_{begin,final}_write_processing): Define.
3215 (elf_hppa_tc_make_sections): Simplify now that much code has
3216 migrated into elf32_hppa_backend_{being,final}_write_processing.
3217
6812b607
ILT
3218Wed Apr 6 17:24:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3219
dfc1c006
ILT
3220 Add new target vectors to read the dynamic symbols and dynamic
3221 relocs. Change a.out to use these rather than reading the dynamic
3222 symbols and relocs along with the normal symbols and relocs.
3223 * targets.c (bfd_target): Add fields
3224 _bfd_get_dynamic_symtab_upper_bound,
3225 _bfd_canonicalize_dynamic_symtab,
3226 _bfd_get_dynamic_reloc_upper_bound,
3227 _bfd_canonicalize_dynamic_reloc.
3228 (BFD_JUMP_TABLE_DYNAMIC): Define.
3229 * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
3230 Define.
3231 (_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
3232 (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
3233 (_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
3234 * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
3235 (bfd_canonicalize_dynamic_symtab): Define.
3236 (bfd_get_dynamic_reloc_upper_bound): Define.
3237 (bfd_canonicalize_dynamic_reloc): Define.
3238 * sunos.c (MY_read_dynamic_symbols): Don't define.
3239 (MY_read_dynamic_relocs): Don't define.
3240 (MY_get_dynamic_symtab_upper_bound): Define.
3241 (MY_canonicalize_dynamic_symtab): Define.
3242 (MY_get_dynamic_reloc_upper_bound): Define.
3243 (MY_canonicalize_dynamic_reloc): Define.
3244 (struct sunos_dynamic_info): Change type of dynsym_count and
3245 dynrel_count to long. Add fields canonical_dynsym and
3246 canonical_dynrel.
3247 (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
3248 Clear info->canonical_dynsym and info->canonical_dynrel.
3249 (MY(read_dynamic_symbols)): Removed.
3250 (MY(read_dynamic_relocs)): Removed.
3251 (sunos_get_dynamic_symtab_upper_bound): New function.
3252 (sunos_canonicalize_dynamic_symtab): New function.
3253 (sunos_get_dynamic_reloc_upper_bound): New function.
3254 (sunos_canonicalize_dynamic_reloc): New function.
3255 * libaout.h: Declare struct reloc_ext_external and
3256 reloc_std_external to avoid prototype problems.
3257 (struct aout_backend_data): Remove fields read_dynamic_symbols and
3258 read_dynamic_relocs.
3259 (NAME(aout,translate_symbol_table)): Declare.
3260 (NAME(aout,swap_ext_reloc_in)): Declare.
3261 (NAME(aout,swap_std_reloc_in)): Declare.
3262 * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
3263 translate_symbol_table and made non-static. Changed all callers.
3264 (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
3265 (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
3266 (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
3267 * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
3268 remove dynamic symbols and relocs. They will no longer be
3269 present.
3270 (MY_read_dynamic_symbols): Don't define.
3271 (MY_read_dynamic_relocs): Don't define.
3272 (sunos4_aout_backend): Don't initialize dynamic entry points.
3273 * aout-target.h (MY_read_dynamic_symbols): Don't define.
3274 (MY_read_dynamic_relocs): Don't define.
3275 (MY(backend_data)): Don't initialize dynamic entry points.
3276 (MY_get_dynamic_symtab_upper_bound): If not defined, define to
3277 _bfd_nodynamic version.
3278 (MY_canonicalize_dynamic_symtab): Likewise.
3279 (MY_get_dynamic_reloc_upper_bound): Likewise.
3280 (MY_canonicalize_dynamic_reloc): Likewise.
3281 * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
3282 * bfd-in2.h: Rebuilt.
3283 * libbfd.h: Rebuilt.
3284
3285 * cf-m68klynx.c: Include sysdep.h.
3286
3287 * hp300hpux.c: Removed some spaces in uses of NAME to avoid
3288 problems with traditional C compilers.
3289
6812b607
ILT
3290 * targets.c (bfd_target): Rearranged fields in target vector.
3291 Removed _bfd_debug_info_start, _bfd_debug_info_end and
3292 _bfd_debug_info_accumulate, which were never used.
3293 (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
3294 (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
3295 (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
3296 (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
3297 * All backends: Changed to use the new BFD_JUMP_TABLE_* macros
3298 rather than the single JUMP_TABLE macro. Removed many of the
3299 weird macro definitions needed to support the monolithic
3300 JUMP_TABLE.
3301 * bfd-in.h (JUMP_TABLE): Removed.
3302 * libbfd-in.h: Define a bunch of macros, and declare a few
3303 functions, for use with the new BFD_JUMP_TABLE_* macros.
3304 * libbfd.c (_bfd_dummy_new_section_hook): Removed.
3305 (bfd_false): Set bfd_error_invalid_operation.
3306 (bfd_nullvoidptr): Likewise.
3307 (bfd_n1): New function.
3308 (_bfd_nocore_core_file_matches_executable_p): Renamed from
3309 _bfd_dummy_core_file_matches_executable_p.
3310 (_bfd_nocore_core_file_failing_command): Similar rename. Set
3311 bfd_error_invalid_operation.
3312 (_bfd_nocore_core_file_failing_signal): Likewise.
3313 (_bfd_generic_get_section_contents): Renamed from
3314 bfd_generic_get_section_contents. Changed all callers.
3315 (_bfd_generic_set_section_contents): Similar rename.
3316 * ieee.c: #if 0 out ieee_bfd_debug_info_start,
3317 ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They
3318 were never called.
3319 * bfd-in2.h: Rebuilt.
3320 * libbfd.h: Rebuilt.
3321
65b1ef49
JL
3322Tue Apr 5 22:10:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3323
3324 * Crude support for examining dynamic libraries.
3325 * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
3326 DL_MAGIC objects.
3327 (som_prep_headers): Preserve the system_id for DYNAMIC objects.
3328 Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
3329 Write exec headers for DYNAMIC objects.
3330 (som_begin_writing): DYNAMIC objects have the same alignment
3331 restrictions as D_PAGED objects.
3332 (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
3333 objects.
3334 (object_flags): Add DYNAMIC.
3335
08a43162
SS
3336Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)
3337
3338 * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
3339 macro uses, confuses some non-ANSI compilers.
3340
b2452d39
JL
3341Tue Apr 5 15:50:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3342
3343 * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
3344 Don't free anything if we don't have a bfd_object.
3345 (som_close_and_cleanup): Call som_bfd_free_cached_info.
3346
b3cee0a9
ILT
3347Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3348
856613c4
ILT
3349 * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
3350 It turns out not to be required on Irix 5, and it causes problems
3351 if the sections happen to contain symbols.
3352
3353 * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
3354
b3cee0a9
ILT
3355 * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
3356 section->relocation is NULL; malloc might have returned NULL when
3357 given a zero size if there were no relocations.
3358 * bout.c (b_out_canonicalize_reloc): Likewise.
3359 * coffcode.h (coff_canonicalize_reloc): Likewise.
3360 * ecoff.c (ecoff_canonicalize_reloc): Likewise.
3361 * elfcode.h (elf_canonicalize_reloc): Likewise.
3362 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
3363 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
3364 * nlmcode.h (nlm_canonicalize_reloc): Likewise.
3365 * som.c (som_canonicalize_reloc): Likewise.
3366 * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc
3367 returns NULL, don't report an error if we asked for zero bytes.
3368 * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
3369 NULL, don't report an error if we asked for zero bytes.
3370 * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
3371
f3a14a9e
ILT
3372Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3373
c4dd531f
ILT
3374 * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
3375 if we don't have a bfd_object.
3376
4002f18a
ILT
3377 Made sure that every call to bfd_read, bfd_write, and bfd_seek
3378 checks the return value and handled bfd_error correctly. These
3379 changes are not itemised. Also:
3380 * aoutx.h (emit_strtab): Change return type to boolean, and return
3381 errors.
3382 (NAME(aout,write_syms)): Check emit_strtab return value.
3383 (NAME(aout,final_link)): Likewise.
3384 * coffcode.h (coff_write_relocs): Change return type to boolean,
3385 and return errors.
3386 (coff_write_object_contents): Check coff_write_relocs return
3387 value.
3388 * i386os9k.c (os9k_swap_exec_header_in): Change return type to
3389 boolean.
3390 (os9k_object_p): Check os9k_swap_exec_header_in return value.
3391 * oasys.c (oasys_read_record): Change return type to boolean.
3392 (oasys_slurp_symbol_table: Check oasys_read_record return value.
3393 (oasys_object_p, oasys_slurp_section_data): Likewise.
3394 (oasys_write_record): Change return type to boolean.
3395 (oasys_write_syms): Likewise. Also, check oasys_write_record
3396 return value.
3397 (oasys_write_sections): Check oasys_write_record return value.
3398 (oasys_write_header): Change return type to boolean. Check
3399 oasys_write_record return value.
3400 (oasys_write_end, oasys_write_data): Likewise.
3401 (oasys_write_object_contents): Check return values of
3402 oasys_write_header, oasys_write_syms, oasys_write_data, and
3403 oasys_write_end.
3404 * srec.c (srec_write_record): Change return type to boolean.
3405 (srec_write_header): Likewise. Also, check srec_write_record
3406 return value.
3407 (srec_write_section, srec_write_terminator): Likewise.
3408 (srec_write_symbols): Change return type to boolean.
3409 (internal_srec_write_object_contents): Check return value of
3410 srec_write_symbols, srec_write_header, srec_write_section, and
3411 srec_write_terminator.
3412
f3a14a9e
ILT
3413 * Makefile.in: Rebuilt dependencies.
3414
3e2993b6
PS
3415Mon Apr 4 10:56:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3416
3417 * aix386-core.c (aix386_bfd_is_local_label): Correct cast from
3418 asection to asymbol.
3419 * ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from
3420 bfd to asymbol.
3421 * trad-core.c (trad_unix_bfd_is_local_label): Correct cast from
3422 asection to asymbol.
3423
1f46bba3
JL
3424Sun Apr 3 18:27:29 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3425
3426 * som.c (som_slurp_string_table): Use malloc to allocate space
3427 for the cached copy of the native string table.
3428 (som_slurp_symbol_table): Likewise for the native symbol table.
3429 (som_slurp_reloc_table): Likewise for the native and generic
3430 relocation tables.
3431 (som_bfd_free_cached_info): Free the cached native strings,
3432 symbols, and relocations. Also free the canonical cached
3433 relocations.
3434
9deaaaf1
ILT
3435Fri Apr 1 12:40:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3436
d6d6b18a
ILT
3437 * aoutx.h (aout_link_write_symbols): If keep_memory is false, make
3438 sure the symbol name is stored in permanent memory before adding
3439 it to the string table.
3440
dfe09c49
ILT
3441 * archive.c (_bfd_write_archive_contents): Once we've found an
3442 object, don't bother to look for more when deciding whether to
3443 build a map.
3444 (compute_and_write_armap): After adding the symbols for a BFD,
3445 call bfd_free_cached_info on it.
3446
3447 Add bfd_free_cached_info support to a.out backends.
3448 * aoutx.h (aout_get_external_symbols): Renamed from
3449 aout_link_get_symbols. Read strings even if symbols have been
3450 read. Store string size in obj_aout_string_size.
3451 (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
3452 read the symbols. Allocate the cached symbols with malloc, not
3453 bfd_alloc.
3454 (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
3455 malloc, not bfd_alloc.
3456 (NAME(aout,bfd_free_cached_info)): New function; free cached
3457 symbols and relocs.
3458 * libaout.h (struct aoutdata): Add external_string_size field.
3459 (obj_aout_external_string_size): New accessor macro.
3460 (NAME(aout,close_and_cleanup)): Don't declare.
3461 (NAME(aout,bfd_free_cached_info)): Declare.
3462 (aout_32_close_and_cleanup): Don't define.
3463 (aout_64_close_and_cleanup): Don't define.
3464 * aout-target.h (MY_bfd_free_cached_info): If not already defined,
3465 define as NAME(aout,free_cached_info).
3466 (MY_close_and_cleanup): If not already defined, define as
3467 MY_bfd_free_cached_info.
3468 * aout-adobe.c (aout_32_close_and_cleanup): Define.
3469 (aout_32_bfd_free_cached_info): Don't define.
3470 * bout.c (aout_32_close_and_cleanup): Define.
3471 (aout_32_bfd_free_cached_info): Don't define.
3472 * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
3473 (MY_close_and_cleanup): Don't define.
3474 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
3475 relocs with malloc, not bfd_alloc.
3476 * i386os9k.c (aout_32_close_and_cleanup): Define.
3477 (aout_32_bfd_free_cached_info): Don't define.
3478
3479 Add a new entry point to free memory cached by a BFD.
9deaaaf1
ILT
3480 * targets.c (bfd_target): Add _bfd_free_cached_info field.
3481 * bfd.c (bfd_free_cached_info): Define.
3482 * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
3483 * bfd-in2.h: Rebuilt.
3484 * All backends: Initialize bfd_free_cached_info entry point to
3485 bfd_true.
3486
3487 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
3488 first, unused, argument.
3489 (hppa_elf_is_local_label): Declare instead of
3490 som_bfd_is_local_label.
3491
3492 * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
3493 absolute R_IREL reloc.
3494
bfe8224f
ILT
3495Thu Mar 31 11:52:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3496
f8ee1ebb
ILT
3497 Added some support for Irix 4 shared libraries.
3498 * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
3499 .lib section.
3500 (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
3501 STYP_ECOFF_LIB bit is set.
3502 (ecoff_compute_section_file_positions): Round the contents of a
3503 .lib section up to the next page boundary.
3504 (ecoff_set_section_contents): If we see a .lib section, increment
3505 the vma by one to count the number of shared libraries we have.
3506 (ecoff_write_object_contents): Don't crash if we see a
3507 STYP_ECOFF_LIB section, and don't adjust text_start or data_start
3508 or bss_size either.
3509
492d52cc
ILT
3510 * coffcode.h (CALC_ADDEND): Change to fetch original symbol value
3511 from original BFD, rather than using value of current BFD symbol.
3512 Needed for new linker.
3513 * coff-sparc.c (CALC_ADDEND): Likewise.
3514
1788b1bd
ILT
3515 * ecoff.c (ecoff_write_object_contents): Set the text_start and
3516 data_start entries in the optional header correctly even if a text
3517 or data section starts at location zero.
3518
e9c6595d
ILT
3519 * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
3520 and raeburn).
3521 * bfd-in2.h: Rebuilt.
3522
3af0f479
ILT
3523 * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
3524 name.
3525 * nlm32-alpha.c (nlm_alpha_read_import): Likewise.
3526 * nlm32-sparc.c (nlm_sparc_read_import): Likewise.
3527
bfe8224f
ILT
3528 * coffgen.c (coff_write_symbol): Reindented. Changed to return
3529 boolean, and changed written to unsigned int *. Check error
3530 returns from called functions.
3531 (coff_write_alien_symbol): Likewise.
3532 (coff_write_native_symbol): Likewise.
3533 (coff_write_symbols): Likewise. Reworked checks on whether to
3534 write symbol name to string table for clarity and to avoid core
3535 dumping when given a non COFF symbol.
3536 * libcoff-in.h (coff_write_symbols): Declare as returning boolean.
3537 * libcoff.h: Rebuilt.
3538 * coffcode.h (coff_write_object_contents): Check return value of
3539 coff_write_symbols.
3540
326e32d7
ILT
3541Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3542
3543 Changes to let BFD return an error indication from
3544 get_symtab_upper_bound, bfd_canonicalize_symtab,
3545 bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now
3546 return long instead of unsigned int, and use -1 to indicate an
3547 error. Along the way, rename get_symtab_upper_bound to
3548 bfd_get_symtab_upper_bound.
3549 * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
3550 errors.
3551 (bfd_canonicalize_reloc): Likewise.
3552 * syms.c (bfd_get_symtab_upper_bound): Renamed from
3553 get_symtab_upper_bound.
3554 * targets.c (bfd_target): Renamed _get_symtab_upper_bound to
3555 _bfd_get_symtab_upper_bound, and changed it and
3556 _bfd_canonicalize_symtab and _get_reloc_upper_bound and
3557 _bfd_canonicalize_reloc to all return long.
3558 * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
3559 (NAME(aout,canonicalize_reloc)): Likewise.
3560 (NAME(aout,get_reloc_upper_bound)): Likewise.
3561 (NAME(aout,get_symtab_upper_bound)): Likewise.
3562 * bout.c (b_out_canonicalize_reloc): Likewise.
3563 (b_out_get_reloc_upper_bound): Likewise.
3564 * coffcode.h (coff_canonicalize_reloc): Likewise.
3565 * coffgen.c (coff_get_symtab_upper_bound): Likewise.
3566 (coff_get_symtab): Likewise.
3567 (coff_get_reloc_upper_bound): Likewise.
3568 * ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
3569 (ecoff_get_symtab): Likewise.
3570 (ecoff_canonicalize_reloc): Likewise.
3571 * elfcode.h (elf_get_symtab_upper_bound): Likewise.
3572 (elf_get_reloc_upper_bound): Likewise.
3573 (elf_canonicalize_reloc): Likewise.
3574 (elf_get_symtab): Likewise.
3575 * hp300hpux.c (MY(get_symtab)): Likewise.
3576 (MY(get_symtab_upper_bound)): Likewise.
3577 (MY(canonicalize_reloc)): Likewise.
3578 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
3579 * ieee.c (ieee_slurp_external_symbols): Change return type to
3580 boolean. Check for errors from get_symbol.
3581 (ieee_slurp_symbol_table): Change return type to boolean. Check
3582 for errors from ieee_slurp_external_symbols.
3583 (ieee_get_symtab_upper_bound): Return long, and -1 on errors.
3584 (ieee_get_symtab): Likewise.
3585 (ieee_get_reloc_upper_bound): Likewise.
3586 (ieee_canonicalize_reloc): Likewise.
3587 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
3588 * nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
3589 (nlm_get_symtab): Likewise.
3590 (nlm_get_reloc_upper_bound): Likewise.
3591 (nlm_canonicalize_reloc): Likewise.
3592 * oasys.c (oasys_get_symtab_upper_bound): Likewise.
3593 (oasys_get_symtab): Likewise.
3594 (oasys_get_reloc_upper_bound): Likewise.
3595 (oasys_canonicalize_reloc): Likewise.
3596 * som.c (som_get_symtab_upper_bound): Likewise.
3597 (som_get_symtab): Likewise.
3598 (som_get_reloc_upper_bound): Likewise.
3599 (som_canonicalize_reloc): Likewise.
3600 * srec.c (srec_get_symtab_upper_bound): Likewise.
3601 (srec_get_symtab): Likewise.
3602 (srec_get_reloc_upper_bound): Define as bfd_0l.
3603 (srec_canonicalize_reloc): Likewise.
3604 * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
3605 (tekhex_get_symtab_upper_bound): Likewise.
3606 (tekhex_get_reloc_upper_bound): Define as bfd_0l.
3607 (tekhex_canonicalize_reloc): Likewise.
3608 * libaout.h (NAME(aout,get_symtab_upper_bound)): Change
3609 declaration to return long.
3610 (NAME(aout,get_symtab)): Likewise.
3611 (NAME(aout,canonicalize_reloc)): Likewise.
3612 (NAME(aout,get_reloc_upper_bound)): Likewise.
3613 * libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
3614 (coff_get_symtab): Likewise.
3615 (coff_get_reloc_upper_bound): Likewise.
3616 * libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
3617 (ecoff_get_symtab): Likewise.
3618 (ecoff_canonicalize_reloc): Likewise.
3619 * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
3620 (bfd_elf32_get_symtab): Likewise.
3621 (bfd_elf32_get_reloc_upper_bound): Likewise.
3622 (bfd_elf32_canonicalize_reloc): Likewise.
3623 (bfd_elf64_get_symtab_upper_bound): Likewise.
3624 (bfd_elf64_get_symtab): Likewise.
3625 (bfd_elf64_get_reloc_upper_bound): Likewise.
3626 (bfd_elf64_canonicalize_reloc): Likewise.
3627 * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
3628 (nlmNAME(get_symtab)): Likewise.
3629 (nlmNAME(get_reloc_upper_bound)): Likewise.
3630 (nlmNAME(canonicalize_reloc)): Likewise.
3631 * archive.c (compute_and_write_armap): Use error_return and
3632 no_memory_return labels rather than freeing information in various
3633 places. Change storage, symcount and src_count to long. Check
3634 errors from bfd_get_symtab_upper_bound and
3635 bfd_canonicalize_symtab.
3636 * bout.c (b_out_relax_section): Change reloc_size to long. Check
3637 for errors from bfd_get_reloc_upper_bound and
3638 bfd_canonicalize_reloc.
3639 (b_out_get_relocated_section_contents): Likewise.
3640 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
3641 Likewise.
3642 * elf32-mips.c: Likewise.
3643 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
3644 (hppa_look_for_stubs_in_section): Check for errors from
3645 bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
3646 bfd_canonicalize_reloc.
3647 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
3648 from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
3649 * linker.c (generic_link_read_symbols): Likewise.
3650 (_bfd_generic_final_link): Check for errors from
3651 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
3652 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
3653 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
3654 (bfd_coff_reloc16_get_relocated_section_contents): Likewise.
3655 * libbfd.c (bfd_0l): New function.
3656 * libbfd-in.h (bfd_0l): Declare.
3657 * aix386-core.c: Change get_symtab_upper_bound, get_symtab,
3658 get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
3659 than bfd_0u.
3660 * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
3661 * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
3662 * bfd-in2.h: Rebuilt.
3663 * libbfd.h: Rebuilt.
3664 * libcoff.h: Rebuilt.
3665
3666 * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
3667 temp and name.
3668
c2c818bc
JK
3669Wed Mar 30 08:33:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3670
3671 * hosts/dpx2.h: Define POSIX_UTIME.
3672
bdf1b511
PS
3673Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3674
3675 * i386dynix.c, config/i386-dynix.mt: New files, handling Dynix
3676 variant of a.out.
3677 * configure.in, config.bfd: Use them for Dynix.
3678 * Makefile.in: Add dependencies for i386dynix.o.
3679 * targets.c: Add definition for i386dynix_vec.
3680 * hosts/symmetry.h: Do not define TRAD_CORE_USER_OFFSET for Dynix.
3681 Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
3682 for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
3683 i386dynix.c
3684
a8a916c8
ILT
3685Mon Mar 28 12:53:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3686
9f37f56a
ILT
3687 * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
3688
09a28207
ILT
3689 * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
3690 bfd_arch_rs6000.
3691
ce8f1f60 3692 * config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
34632537
ILT
3693 * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
3694
a8a916c8
ILT
3695 * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
3696 for generated constructor section.
3697
06e6eb0e
JL
3698Sun Mar 27 16:25:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3699
3700 * som.c (som_begin_writing): New approach at dealing with holes
3701 in executables left by the HP linker. Does not rely on subspace
3702 alignments as subspaces are *NOT* guaranteed to be properly
3703 aligned in an executable (can you believe that!).
3704
25057836
JL
3705Sat Mar 26 10:25:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3706
f977e865
JL
3707 * som.c (som_get_section_contents): New function. Do not try
3708 to actually read data from a section that doesn't have either
3709 SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
3710
25057836
JL
3711 * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
3712 read. (bfd_error_system_call or bfd_error_file_truncated).
3713
3714 * som.c: Do not blindly set bfd_error_system_call after a
3715 failing bfd_read, bfd_write, or bfd_seek. In a few places
3716 (like som_object_p) override the error status set by bfd_read.
3717
3718 * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
3719 * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
3720 * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
3721 * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
3722
3723 * som.c: Check return values from several bfd_{seek,read,write}
3724 calls that we just assumed were not failing.
3725
471c3c3f
JK
3726Fri Mar 25 11:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3727
3728 * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
3729 * config/sysv4.mh: Add comment.
3730 * config/symmetry.mh: Change comment.
3731 * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
3732
ec099b4b
ILT
3733Fri Mar 25 17:10:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3734
a3a33af3 3735 Changes to support linker relaxing of embedded MIPS PIC code to
471c3c3f 3736 use a five instruction sequence for function calls which are out of
a3a33af3
ILT
3737 range of the bal instruction.
3738 * libecoff.h (struct ecoff_section_tdata): Define.
3739 (ecoff_section_data): Define.
3740 (ecoff_bfd_relax_section): Don't define.
3741 * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
3742 the debugging information if it has already been read.
3743 (ecoff_indirect_link_order): Handle _cooked_size being different
3744 from _raw_size. Don't reread the contents or the relocs if they
3745 have already been read in.
3746 * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
3747 18 to 16.
3748 (PCREL16_EXPANSION_ADJUSTMENT): Define.
3749 (mips_relocate_refhi): Take adjust argument.
3750 (mips_relocate_section): Handle reloc offsets stored in section
3751 used_by_bfd field. Call mips_relax_pcrel16 to handle details of
3752 expanding an out of range PCREL16. Keep trace of adjustments
3753 required by expansions. Set s and unset h when converting a reloc
3754 from undefined to section. Change handling of PC relative relocs:
3755 if against a section, they are correct in the object file, if
3756 against an external symbol they are pcrel_offset.
3757 (mips_relax_section): New function.
3758 (mips_relax_pcrel16): New function.
3759 (ecoff_bfd_relax_section): Define.
3760 * coff-alpha.c (ecoff_bfd_relax_section): Define.
3761 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
3762 built by mips_relax_section when writing out addresses.
3763 * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
3764
ec099b4b
ILT
3765 * aoutx.h (NAME(aout,find_nearest_line)): The caller expects
3766 functionname_ptr to be set to a symbol name, so prepend
3767 symbol_leading_char.
3768
47e70c54
SC
3769Thu Mar 24 11:33:46 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3770
3771 * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
3772 for 16bit relative branches.
3773 * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
3774 overflow.
3775
9d7f682f
JL
3776Thu Mar 24 09:21:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3777
3778 * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
3779 (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
3780
3781Wed Mar 23 14:29:31 1994 David J. Mackenzie (djm@rtl.cygnus.com)
3782
3783 * netbsd386.c (N_SET_FLAGS): Delete the old definition.
3784
456961d1
ILT
3785Wed Mar 23 14:58:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3786
3787 Clean up the relaxing code for the new linker.
3788 * targets.c (_bfd_relax_section): Take boolean *again argument
3789 rather than asymbol list.
3790 * bfd.c (bfd_relax_section): Change name of fourth argument from
3791 symbols to again.
3792 * reloc.c (bfd_generic_relax_section): Take boolean *again
3793 argument rather than asymbol list. Always return true.
3794 * bout.c: Include genlink.h.
3795 (aligncode, perform_slip): Declare.
3796 (perform_slip): Take BFD argument rather than asymbol list.
3797 Changed all callers. Get the symbols from the BFD. Change the
3798 hash table entry value as well as the symbol value.
3799 (abs32code): Take BFD argument rather than asymbol list. Changed
3800 all callers.
3801 (aligncode): Likewise.
3802 (b_out_relax_section): Take boolean *again argument rather than
3803 asymbol list. Only return false if an error occurred. Set *again
3804 to false. Get symbols from BFD.
3805 * reloc16.c: Include genlink.h.
3806 (bfd_perform_slip): Take BFD argument rather than asymbol list.
3807 Get the symbols from the BFD. Change the hash table entry value
3808 as well as the symbol value.
3809 (bfd_coff_reloc16_relax_section): Take boolean *again argument
3810 rather than asymbol list. Only return false if an error occurred.
3811 Set *again to false. Get symbols from BFD.
3812 * coffcode.h (bfd_coff_backend_data): Change
3813 _bfd_coff_reloc16_estimate to take BFD argument rather than
3814 asymbol list.
3815 (bfd_coff_reloc16_estimate): Corresponding change.
3816 (dummy_reloc16_estimate): Corresponding change.
3817 * libcoff-in.h (bfd_coff_reloc16_relax_section): Change
3818 declaration to take boolean * rather than asymbol list.
3819 (bfd_perform_slip): Change declaration to take BFD rather than
3820 asymbol list.
3821 * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
3822 than asymbol list. Changed calls to bfd_perform_slip.
3823 * bfd-in2.h: Rebuilt.
3824 * libbfd.h: Rebuilt.
3825 * libcoff.h: Rebuilt.
3826 * Makefile.in: Rebuilt dependencies.
3827
3828 * genlink.h (_bfd_generic_link_get_symbols): Define.
3829 (_bfd_generic_link_get_symcount): Define.
3830 * linker.c (generic_link_read_symbols): New function.
3831 (generic_link_add_object_symbols): Use it. Use
3832 _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
3833 to get the symbols from the BFD.
3834 (generic_link_check_archive_element): Likewise.
3835 (_bfd_generic_final_link): Likewise.
3836 (_bfd_generic_link_output_symbols): Likewise.
3837 (default_indirect_link_order): Likewise.
3838 (generic_link_add_symbol_list): Store pointer to hash table entry
3839 in asymbol udata field.
3840
4335ce64
ILT
3841Tue Mar 22 13:09:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3842
c031ba0b
ILT
3843 * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
3844 reloc, used in embedded PIC code.
3845 (mips_adjust_reloc_in): Change sanity check to permit new reloc.
3846 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
3847 MIPS_R_PCREL16.
3848
4335ce64
ILT
3849 * elf32-mips.c (mips_elf_final_link): Account for link_order
3850 relocs when allocating space for relocations. Set SEC_RELOC flag
3851 for any section which has relocs. Handle link_order relocs in
3852 link_order loop. Use _bfd_generic_link_add_symbols_collect for
3853 add_symbls entry point.
3854
3855 * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
3856 counting relocs. Set SEC_RELOC flag for any section which has
3857 relocs.
3858
3859 * linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
3860
3861 * linker.c (_bfd_generic_link_add_symbols): Just call
3862 generic_link_add_symbols.
3863 (_bfd_generic_link_add_symbols_collect): New function, like
3864 _bfd_generic_link_add_symbols but also collect constructors and
3865 destructors by name as collect2 does.
3866 (generic_link_add_symbols): New function, like old
3867 _bfd_generic_link_add_symbols but with collect argument.
3868 (generic_link_add_object_symbols): Take collect argument.
3869 (generic_link_check_archive_element_no_collect): New function.
3870 (generic_link_check_archive_element_collect): New function.
3871 (generic_link_check_archive_element): Take collect argument.
3872 (generic_link_add_symbol_list): Take collect argument.
3873 (_bfd_generic_link_add_one_symbol): Rename constructor argument to
3874 collect.
3875 * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
3876 * libbfd.h: Rebuilt.
3877
9d92fe0a
JL
3878Tue Mar 22 10:04:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3879
3880 * archive.c (bfd_construct_extended_name_table): Use ar_padchar
3881 for first character in an extended name.
3882 (_bfd_write_archive_contents): If ar_padchar == '/', then use
3883 "//" as the name of the special archive member holding the
3884 extended name table.
3885
f1cca647
ILT
3886Mon Mar 21 12:28:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3887
3888 Support for link_order types which generate relocs in order to
3889 support -Ur in the linker.
3890 * linker.c (generic_link_add_symbol_list): Remove bitsize argument
3891 from call to _bfd_generic_link_add_one_symbol.
3892 (_bfd_generic_link_add_one_symbol): Remove bitsize argument.
3893 Don't pass bitsize to constructor call back. Pass BFD_RELOC_CTOR
3894 instead of bitsize to add_to_set call back.
3895 (_bfd_generic_final_link): Account for link_order relocs when
3896 allocating space for relocations. Handle them in link_order loop.
3897 (_bfd_generic_reloc_link_order): New function.
3898 (_bfd_default_link_order): If a reloc_link_order is seen here,
3899 abort.
3900 (_bfd_count_link_order_relocs): New function.
3901 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
3902 argument from declaration.
3903 (_bfd_generic_reloc_link_order): Declare.
3904 (_bfd_count_link_order_relocs): Declare.
3905 * libbfd.h: Rebuilt.
3906 * aoutx.h (aout_link_add_symbols): Remove bitsize argument from
3907 call to _bfd_generic_link_add_one_symbol.
3908 (NAME(aout,final_link)): Account for link_order relocs when
3909 allocating space for relocations. Handle them after handling all
3910 input BFDs.
3911 (aout_link_reloc_link_order): New function.
3912 * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
3913 call to _bfd_generic_link_add_one_symbol.
3914 (ecoff_bfd_final_link): Account for link_order relocs when
3915 allocating space for relocations. Handle them in link_order loop.
3916 (ecoff_link_write_external): Set the storage class of a defined
3917 linker created symbol based on the section it is in. Correct
3918 bfd_link_hash_weak case to use .sc rather than .st.
3919 (ecoff_reloc_link_order): New function.
3920 * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
3921 BFD_RELOC_CTOR.
3922 * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
3923
3924 * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
3925 and buf.
3926
3927 * cisco-core.c (cisco_core_file_p): Only pass one argument to
3928 bfd_zmalloc. Free a pointer, not a union.
3929 (cisco_bfd_is_local_label): Correct cast from asection to asymbol.
3930
142f59f4
JL
3931Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3932
17e64ad3
JL
3933 * bfd/som.c (som_begin_writing): Fix thinko (off by one error).
3934
c2e1207b
JL
3935 * som.c (bfd_section_from_som_symbol): Only to do the value
3936 comparison for function symbols within executables.
3937
c05d2d43
JL
3938 * som.c (bfd_section_from_som_symbol): Renamed from
3939 som_section_from_subspace_index. Pass in a native SOM symbol.
3940 For executables, iterate through the sections to find out
3941 which contains the symbol's address rather than using the
3942 symbol_info field. (symbol_info has a different meaning for
3943 dynamicly linked executables.)
3944
61bcbf40
JL
3945 * trad-core.c (trad_unix_core_file_p): Don't pass abfd to
3946 bfd_zmalloc.
3947
517a6af6
JL
3948 * som.c (som_begin_writing): Fix braino (one call to align
3949 space/subspace data was done unconditionally rather than
3950 just for executables.)
3951
142f59f4
JL
3952 * som.c (som_begin_writing): Align text in all executables to
3953 make HPUX kernel happy. Fixes strip/objcopy for shared
3954 executables.
3955
00806436
JL
3956Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3957
3958 * som.c (som_begin_writing): Account for alignment needs of
3959 subspaces too when writing executables. Never request a negative
3960 bss size. Fixes some problems with demand paged executables,
3961 still having problems with pure executables and shared executables.
3962
f3f29240
JK
3963Fri Mar 18 19:12:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3964
3965 * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
3966 bfd_zalloc for rawptr, because later on we may call free, not
3967 bfd_release, on it.
3968
3969 * bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
3970 * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
3971 * cisco-core.c: New file.
47dc9b52
JK
3972 * Makefile.in: Change accordingly.
3973 * configure.in: Recognize cisco_core_vec.
3974 * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
3975 * targets.c: Add cisco_core_vec.
f3f29240
JK
3976 * bfd-in2.h: Rebuilt.
3977
3b499495
JL
3978Fri Mar 18 18:13:49 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3979
15766917
JL
3980 * som.h (som_copyable_section_data_struct): New structure
3981 containing all the private section information which needs
3982 to be copied from input section to output section during
3983 objcopy or strip.
3984 (som_section_data_struct): Remove several fields now in
3985 som_copyable_section_data_struct. Make the space and
3986 subspace dictionaries be pointers (to save space when
3987 only reading objects).
3988
3989 * som.c (bfd_som_set_section_attributes): Now returns a boolean;
3990 some references changed. Allocate a copyable data stucture if
3991 none exists. Store info into the copyable data structure.
3992 (bfd_som_set_subsection_attributes): Likewise.
3993 (som_is_space, som_is_subspace, som_is_container): New functions.
3994 Use these instead of directly accessing private data.
3995 (som_prep_headers): Allocate space and subspace headers here.
3996 Fill in some fields in the space/subspace headers from the
3997 copyable data.
3998 (som_bfd_copy_private_section_data): Only copy the stuff
3999 that we really need to make objcopy and strip work. Allocate
4000 the copy_data structure for the output bfd before copying.
4001
4359a7ef
JL
4002 * som.h (struct som_exec_data): New structure to hold exec
4003 info that must be preserved when running objcopy/strip.
4004 (struct somdata): Add new "exec_data" field and accessor
4005 macro. Add some comments on how the various fields are used.
4006 (som_section_data_struct): Make is_space and is_subspace bitfields.
4007 Delete unused subspace_index. All references now use the
4008 target_index field within the section structure itself.
4009
4010 * som.c (make_unique_section): Delete unused declaration.
4011 (som_bfd_copy_private_bfd_data): New function.
4012 (som_object_setup): Allocate space for and save exec information
4013 that needs to be copied during objcopy/strip.
4014 (som_mkobject): Do not allocate space for a file header here.
4015 It is not used when only reading SOM objects.
4016 (som_prep_headers): Allocate space for and attach a file header
4017 to the output bfd. For executables, use the saved system_id
4018 value rather than trying to guess the right value. Do not abort
4019 wwhen setting file_hdr->entry* for executables.
4020 (som_begin_writing): For executables, set the exec_entry and
4021 exec_flags fields.
4022 (som_copy_private_backend_section_data): Always return a value.
4023
08b3c4f9
JL
4024 * libhppa.h (PA_PAGESIZE): Define.
4025
4026 * som.c (SOM_ALIGN): Define.
4027 (som_begin_writing): If writing an executable, initialize all
4028 fields in the exec header to zero. Update fields in the exec
4029 header as sizes of loadable subspaces are computed. Carefully
4030 preserve alignments when building executables. Actually write the
4031 exec after all the fields are filled in.
4032
3b499495
JL
4033 * Better long-filename handling. Reads SOM ABI compliant extended
4034 names, but doesn't quite write compliant extended names yet.
4035 * som.c (som_slurp_extended_name_table): Delete function. The
4036 generic code will handle things correctly.
4037 (som_slurp_armap): Seek to the beginning of the next member.
4038 (normalize): New function.
4039 (som_bfd_ar_write_symbol_stuff): Take the size of the extended
4040 name table into account when computing the file offsets in the
4041 SOM dictionary. Make sure to align to an even boundary.
4042 (som_write_armap): Initialize the checksum to zero.
4043 (ar_maxchars): Fix. Opps.
4044
ff978570
KR
4045Fri Mar 18 20:35:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4046
4047 * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
4048 machine. Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
4049
6f4aac6c
KR
4050Thu Mar 17 18:26:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4051
5a66538b
KR
4052 * bfd-in.h (BFD_VERSION): Use @VERSION@.
4053 * Makefile.in (bfd.h): Replace it with contents of VERSION file.
4054 * bfd-in2.h: Regenerated.
4055
6f4aac6c
KR
4056 * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
4057 this was also named trad_unix_bfd_copy_private_bfd_data.
4058
8eb5d4be
JK
4059Thu Mar 17 10:37:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4060
4061 * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
4062 elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
4063 returns NULL, it is not an error. It's possible that some of
4064 these checks are not necessary (because the size can never be
4065 zero), but putting in the checks is the conservative thing to do
4066 in light of the fact that some of these malloc calls replaced
4067 unchecked alloca calls, in which a zero argument would work fine.
4068
1c6042ee
ILT
4069Thu Mar 17 11:44:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4070
7838792b
ILT
4071 * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
4072 duplicate definition.
4073 (osf_core_bfd_is_local_label): Define.
4074
4bbf7a49
ILT
4075 * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
4076 if malloc (0) fails. bfd_canonicalize_reloc returning 0 is not a
4077 failure indication, it merely means there are no relocs.
4078
1c6042ee
ILT
4079 * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
4080 after NAME, since SunOS /bin/cc can't handle it.
4081
ae6710bc
DM
4082Wed Mar 16 16:43:33 1994 David J. Mackenzie (djm@thepub.cygnus.com)
4083
4084 * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
4085 From sukes@glue.umd.edu (Tasuki Hirata).
4086
4087Wed Mar 16 07:55:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4088
4089 * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
4090 all that convoluted stuff with NAME, CAT3, etc. The convoluted
4091 stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
4092
35ac8aac
JL
4093Wed Mar 16 00:02:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4094
4095 * som.c (som_prep_for_fixups): Detect section symbols based
4096 on either the lack of private data or the symbol flags. Do not
4097 munge section symbol names anymore -- they no longer confuse GDB.
4098 (som_begin_writing): Leave space for an exec header if writing
4099 an executable.
4100 (som_slurp_symbol_table): Recognize both forms of section symbol
4101 names "L$0\002" and "$<FOO>$". Change the name of "L$0\002"
4102 section symbols to be the name of the section they represent.
4103 Debugging symbols begin with "L$0\001", not just "L$".
4104
5b3577cb
JL
4105Tue Mar 15 22:58:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4106
4107 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
4108
4109 * bfd-in.h (JUMP_TABLE): Add new entries to the jump table
4110 for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
4111 and bfd_is_local_label.
4112
4113 * targets.c: Add new entries to the bfd_target structure.
4114
4115 * bfd.c (bfd_copy_private_bfd_data): New definition.
4116
4117 * section.c (bfd_copy_private_section_data): New definition.
4118
4119 * syms.c (bfd_is_local_label): New definition.
4120
4121 * libbfd-in.h (bfd_generic_is_local_label): Declare.
4122
4123 * libbfd.c (bfd_generic_is_local_label): New function.
4124
4125 * *-core.c: Provide default definitions for new functions in
4126 the target vector which all point to bfd_false.
4127
4128 * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
4129 libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
4130 Default new vectors for copying private backend data to bfd_true.
4131 Default new vector for determining if a symbol is a local label
4132 to bfd_generic_is_local_label.
4133
4134 * som.c (som_bfd_copy_private_section_data): New function.
4135 (som_bfd_is_local_label): New function.
4136 (som_bfd_copy_private_bfd_data): For now default to bfd_true.
4137
4138 * elf32-hppa.c (hppa_elf_is_local_label): New function.
4139
0069bd06
ILT
4140Tue Mar 15 23:55:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4141
4142 * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
4143
57a1867e
DM
4144Tue Mar 15 04:41:13 1994 David J. Mackenzie (djm@rtl.cygnus.com)
4145
4146 * Most files:
4147 Replace DEFUN and DEFUN_VOID with K&R-style function definition.
4148 Indent some of them to GNU standards.
4149
4150 * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
4151 cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
4152 elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
4153 libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
4154 Update copyright years.
4155
ec743cef
JL
4156Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4157
baef2065
JL
4158 * som.c (som_prep_for_fixups): A relocation involving the section
4159 symbol for the *ABS* section is really a relocation involving
4160 no symbol.
4161 (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
4162 undefined symbols. Correctly distinguish between debugger symbols
4163 and section symbols.
4164
b486fb13
JL
4165 * som (setup_sections): Set SEC_DEBUGGING and the section attributes
4166 for spaces and subspaces.
4167
4c9db344
JL
4168 * som.c (som_bfd_count_ar_symbols): Fix typo.
4169
ec743cef
JL
4170 * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
4171 HAS_RELOC based on the object's magic number.
4172 (make_unique_section): Delete function. BFD and its users are
4173 prepared to handle multiple sections with the same name.
4174 (setup_sections): Allocate space on the BFD's obstack to hold
4175 section names. Use bfd_make_setion_anyway rather than the
4176 obsolete make_unique_section.
4177 (som_prep_headers): Choose the correct SOM magic number based
4178 on the BFD's flags.
4179 (som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
4180
45ccfd58
ILT
4181Sat Mar 12 09:46:09 1994 Ian Lance Taylor (ian@cygnus.com)
4182
4183 * elf32-ppc.c: Renamed from elf32-powerpc.c.
45ccfd58 4184 * nlm32-ppc.c: Renamed from nlm32-powerpc.c.
45ccfd58
ILT
4185 * Makefile.in, configure.in: Corresponding changes.
4186
92177c52
ILT
4187Fri Mar 11 22:27:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4188
4189 * elf32-powerpc.c: Extensive changes to update to preliminary ABI.
4190
3e0b5554
PS
4191Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4192
4193 * sunos.c (sunos_read_dynamic_info): Assume that dynamic info
4194 is always located at the start of the data section to allow
4195 recovery of the dynamic info from a stripped executable.
4196 * ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA
4197 and STYP_COMMENT.
4198
80425e6c
JK
4199Wed Mar 9 17:17:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4200
4201 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
4202 cruft (like the #pragma alloca for AIX).
4203 In addition to that problem, the C alloca calls xmalloc, which
4204 means checking for being out of memory can't work right. The
4205 following changes remove all uses of alloca from BFD.
4206 * hosts/solaris2.h: Remove alloca cruft.
4207 * som.c: Replace alloca with a fixed size auto array.
4208 * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
d7fb4531
JK
4209 ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
4210 sunos.c: Replace alloca with malloc and appropriate error checking and
80425e6c
JK
4211 freeing.
4212 * linker.c: Replace alloca with obstack_alloc.
4213 * libbfd.h: Rebuilt.
4214
1404c365
ILT
4215Tue Mar 8 12:10:38 1994 Ian Lance Taylor (ian@cygnus.com)
4216
4217 * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
4218 MIPS_R_GPREL.
4219
25677b5b
PS
4220Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4221
4222 * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word,
4223 Elf*_Off typedefs by their expansion, the typedefs have been
4224 removed from include/elf/internal.h.
802f4fe2
PS
4225 * elfcode.h (bfd_section_from_shdr): Handle SHT_DYNAMIC section like
4226 SHT_PROGBITS section.
25677b5b 4227
7b5f6e48
JL
4228Thu Mar 3 20:03:39 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4229
4230 * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
4231
baf200d4
JK
4232Wed Mar 2 13:28:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
4233
4234 * configure.host: Recognize i[34]86-sequent-*.
4235
4236 * trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
4237 return from bfd_seek indicates an error.
4238 New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
4239 TRAD_CORE_STACK_OFFSET.
4240 * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
4241 TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
4242
44fd6622
JL
4243Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4244
4e64845c
JL
4245 * som.[ch]: Do not include libhppa.h in som.c, instead include
4246 it in som.h.
4247
4248 * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
4249 include it in elf32-hppa.h.
4250
98ecc945
JL
4251 * som.c (log2): Return -1 on error rather than aborting.
4252 (setup_sections): Bubble up an error from log2.
4253
44fd6622
JL
4254 * Changes to make HP C compiler happy in both traditional
4255 and ANSI mode.
4256 * som.c (hppa_som_gen_reloc_type): Use correct enum type for
4257 field parameter.
4258 (bfd_som_set_section_attributes): Use unsigned int rather than
4259 unsigned char to avoid GNU-C extensions.
4260 (bfd_som_attach_aux_hdr): Return a boolean to indicate success
4261 or failure rather than aborting on failure.
4262
4263 * som.h (bfd_som_set_section_attributes): Fix prototype to match
4264 som.c changes.
4265 (bfd_som_attach_aux_hdr): Add prototype.
4266 (hppa_som-gen_reloc_type): Likewise.
4267
4268 * elf32-hppa.c: Add a couple casts to make HP compiler happy.
4269 (hppa_look_for_stubs_in_section): Do not return false on failure
4270 until rest of code is ready to handle it. Abort for now.
4271
d1f8b181
JK
4272Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
4273
4274 * bfd-in2.h: Rebuilt.
4275
85cc33c7
KH
4276Tue Mar 1 13:06:53 1994 Kung Hsu (kung@mexican.cygnus.com)
4277
bb37e716
KH
4278 * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
4279 * Makefile.in: delete an extra blank.
85cc33c7
KH
4280 * configure.in : Add i396os9k_vec.
4281
2f88343d
KH
4282Mon Feb 28 15:41:01 1994 Kung Hsu (kung@mexican.cygnus.com)
4283
5143c305
KH
4284 * config.bfd : Add i386-os9k.
4285 * config/i386-os9k.mt : Newly add os9k target makefile.
4286
2f88343d
KH
4287 * i386os9k.c : new file to handle os9k format bfd.
4288 * Makefile.in : Handle new file i386os9k.c
2f88343d
KH
4289 * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
4290 * cache.c : Initialize cache_sentinel to 0.
4291
6e58a4e5
JL
4292Sun Feb 27 16:30:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4293
f3b477be
JL
4294 * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
4295 action in case where caller specified no argument relocation.
4296 (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
4297 right in the original relocation and the stub's relocation.
4298
6e58a4e5
JL
4299 * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete
4300 unused symbols argument.
4301
4302 * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
4303 than asymbol * for original target symbol. All callers changed.
4304 Set reloc->sym_ptr_ptr appropriately.
4305 (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
4306 (hppa_elf_look_for_stubs_in_section): No longer need symbols
4307 argument. Use the output symbols when canonicalizing the relocs,
4308 creating them if necessary.
4309
4310 * linker.c (_bfd_generic_link_output_symbols): Do not
4311 rebuild/clobber the output symbols if they already exist.
4312
4c8d6c9f
SS
4313Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
4314
fdfe2d14
SS
4315 * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
4316 check all the pointer dereferences. Enabled via DEBUG_BFD_SEND.
4317 * bfd-in2.h: Rebuilt.
4318
4c8d6c9f
SS
4319 * srec.c (hex_value): Always set to a size of 256 bytes.
4320 (srec_init): Cosmetic changes.
4321
e08b9ad7
JL
4322Sun Feb 27 11:18:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4323
4324 * elf32-hppa.c: Second half of major cleanup. More comments,
4325 PARAMize and staticize rest of functions. Delete unused
4326 functions. Delete unused/unnecessary arguments to some functions.
4327 Group static vars together. Abort for bad errors until we have
4328 error code propogation working. Work on spacing and indention.
4329 Add FIXMEs for unresolved problems. Use enums rather than
4330 #defines for lots of things. Merge two functions which build
4331 linker stubs into a single function (so they can easily share a
4332 ton of common code).
4333
68241b2b
ILT
4334Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com)
4335
4336 * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
4337 avoid depending upon right shifts of signed numbers, and to
4338 correct handling of src_mask with lower bits zero.
4339
4340 * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
4341 * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
4342 * elf32-i386.c: Likewise.
4343 * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
4344 #if 0 code.
4345 (elf_write_phdrs): Make i unsigned.
4346 (map_program_segments): Make i and n_left unsigned.
4347 (assign_file_positions_except_relocs): Make i unsigned.
4348 (write_shdrs_and_ehdr): Make count unsigned.
4349 (assign_file_positions_for_relocs): Make i unsigned.
4350 (NAME(bfd,elf_write_object_contents)): Make count unsigned.
4351 (section_from_elf_index): Make index argument unsigned.
4352
96db3187
ILT
4353Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com)
4354
4355 * elfcode.h: Don't include assert.h.
4356 (swap_out_syms): Use BFD_ASSERT rather than assert.
4357
4358 * linker.c (_bfd_generic_link_write_global_symbol): Add missing
4359 break in switch.
4360
4361 * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
4362 declarations.
4363
d6439785
JL
4364Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4365
f5bfdacd
JL
4366 * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
4367
4368 * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
4369 (elf_hppa_tc_make_sections): Likewise.
4370 (elf_hppa_final_processing): Add extern decl.
4371
4372 * elf32-hppa.c: First half of major cleanup. Add/cleanup lots of
4373 comments. PARAMize some static functions. Delete unused functions.
4374 Delete unused/unnecessary arguments to many functions. Group
4375 static vars together. Collapse common case statements together
4376 in many places. Use default case when possible instead of listing
4377 each case separately. Abort for bad errors until we get error
4378 code propogation working. Work on spacing and indention problems.
4379 Add FIXMEs for some unresolved problems. Delete hopelessly broken
4380 COMPLEX relocation support (it's never used anyway).
4381 (hppa_elf_rebuild_insn): Delete. Moved into libhppa.h.
4382 (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
4383 (elf_hppa_tc_make_sections): Likewise.
4384
43ebdfcf
JL
4385 * format.c (bfd_check_format_matches): Initialize matching_vector
4386 to keep gcc -Wall quiet.
4387
4388 * elfcode.h (elf_slurp_reloca_table): Fix typo.
4389
d6439785
JL
4390 * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
4391 not "sizeof (som_symbol_type *)".
4392
4393 * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
4394 not "sizeof (asymbol"). Opps.
4395
fbb8fe5c
ILT
4396Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com)
4397
4398 * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
4399 (bfd_set_gp_size): Can't set gp value on an archive.
4400
5e808126
SC
4401Fri Feb 25 12:57:00 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4402
4403 * srec.c (pass_over): Don't skip too many characters when
4404 end of line seen.
4405
626f883f
ILT
4406Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com)
4407
4408 * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
4409 boundary.
4410
4411Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4412
4413 * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
4414 field for absolute symbols in the same manner as undefined
4415 and common symbols.
4416
a69b39f0
PS
4417Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4418
4419 * elfcode.h (elf_core_file_p): Check for core file e_machine match
4420 like in elf_object_p.
4421
2e7b92cf
JL
4422Wed Feb 23 18:28:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4423
4424 * elfcode.h (alloca): Delete declaration.
4f42757e
JL
4425
4426 * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
4427 number rather than HP9000S800_ID. Note som.c is careful
4428 to make sure CPU_PA_RISC1_0 is always defined.
4429
891dc727
SS
4430Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com)
4431
4432 * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
4433 flags to explicit compile actions.
4434
22a71fef
ILT
4435Mon Feb 21 09:50:06 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
4436
2f0deb19
ILT
4437 * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
4438 * ecoff.c (ecoff_write_object_contents): Make sure .bss section
4439 ends on a page boundary if there is no symbol table.
4440 (ecoff_bfd_final_link): Don't set symhdr->magic here.
4441
aaca79a8
ILT
4442 * hosts/hp300.h: Include <stdlib.h>; don't declare free.
4443
2ab0b7f3
ILT
4444 * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
4445 rather than an array of variable size.
4446 (som_bfd_fill_in_ar_symbols): Likewise.
4447 (som_bfd_ar_write_symbol_stuff): Likewise.
4448
22a71fef
ILT
4449 * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
4450 operation to avoid OSF 1.3 cc bug.
4451 * ecoff.c (ecoff_write_object_contents): Make text_size, data_size
4452 and bss_size bfd_size_type instead of unsigned long. Make
4453 text_start and data_start bfd_vma instead of unsigned long.
4454 * ecofflink.c (ecoff_add_string): Remove incorrect cast of return
4455 value.
4456
037ce95a
ILT
4457Sun Feb 20 16:06:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
4458
4459 * linker.c (_bfd_generic_link_add_archive_symbols): Consider
4460 symbols in the order they appear in the archive map.
4461
3a1de3cc
PS
4462Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4463
4464 * coff-alpha.c (reloc_nil): Add forward declaration, add missing
4465 error_message argument.
4466 * coff-sparc.c (bfd_coff_generic_reloc): Add forward declaration,
4467 add missing error_message argument.
4468 * mipsbsd.c (mips_fix_hi16_s): Add forward declaration, add missing
4469 error_message argument.
4470
99ec1f66
ILT
4471Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4472
99ec1f66 4473 Support for PowerPC NetWare.
92177c52 4474 * nlm32-powerpc.c: New file.
99ec1f66
ILT
4475 * config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
4476 * config/ppc-nlm.mt: New file.
4477 * configure.in (nlm32_powerpc_vec): New target vector; use
4478 nlm32-powerpc.o, nlm32.o, nlm.o.
4479 * targets.c (nlm32_powerpc_vec): Declare.
4480 * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
7ce8b9d1 4481 (CFILES): Add nlm32-powerpc.c.
99ec1f66
ILT
4482
4483 Initial support for PowerPC ELF. Done without an ABI, and
4484 probably to be changed when I get an ABI.
4485 * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
4486 * config/ppc-elf.mt: New file.
4487 * configure.in (bfd_elf32_powerpc_vec): New target vector; use
4488 elf32-powerpc.o, elf32.o, elf.o.
4489 * elf32-powerpc.c: New file.
4490 * elfcode.h (prep_headers): Add bfd_arch_powerpc case.
4491 (elf_set_arch_mach): Likewise.
4492 * targets.c (bfd_elf32_powerpc_vec): Declare.
4493 * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
4494 (CFILES): Add elf32-powerpc.c.
4495 Rebuilt dependencies.
4496
42f62ead
ILT
4497Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4498
4499 * coffgen.c (coff_write_linenumbers): Always return a value.
4500
4501 * elfcode.h (elf_slurp_symbol_table): Handle zero symbols
4502 reasonably. Allocate x_symp using alloca.
4503
4504 * elfcode.h (map_program_segments): ELF program header entries
4505 must be sorted by load address. This used to generate the entries
4506 in reverse order.
4507
4508 * section.c (SEC_IN_MEMORY): Define.
4509 (asection): Rename unused field otheruserdata to contents, and
4510 make it char *.
4511 (bfd_make_section_anyway): Initialize contents field to NULL.
4512 (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
4513 contents from contents field rather than from file.
4514 * bfd-in2.h: Rebuilt.
4515
d1ad85a6
DM
4516Thu Feb 17 08:30:53 1994 David J. Mackenzie (djm@thepub.cygnus.com)
4517
4518 * bfd.c (bfd_get_error, bfd_set_error): New functions.
4519 (bfd_error): Make static.
4520 (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to
4521 all values.
4522 * bfd-in2.h: Regenerated.
4523 * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h,
4524 aoutf1.h, aoutx.h, archive.c, archures.c,
4525 bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c,
4526 coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c,
4527 ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c,
4528 elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c,
4529 i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c,
4530 lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c,
4531 nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
4532 ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c,
4533 srec.c, sunos.c, syms.c, targets.c, tekhex.c,
4534 trad-core.c: Change callers.
4535
7430a991
JL
4536Tue Feb 15 22:27:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4537
4538 * som.c: Remove FIXMEs for things which have been dealt with.
4539
54196ea1
KR
4540Tue Feb 15 19:39:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4541
4542 * section.c (bfd_get_section_contents): Since this function reads
4543 unrelocated contents, the section's raw size is always the one to
4544 use for bounds checking.
4545
4546 * linker.c (default_indirect_link_order): In assertion, compare
4547 link_order size field against cooked size, not raw size, of input
4548 section.
4549
4550 * bout.c (b_out_get_reloc_upper_bound): For BSS section, just
4551 return 0.
4552 (aligncode): When shrinking, the addend should be set to the
4553 current offset in the section plus the number of bytes of padding
4554 that will actually be retained.
4555 (b_out_relax_section): If a section contains no relocations, don't
4556 bother processing them.
4557 (b_out_get_relocated_section_contents): Set reloc_done. Assert
4558 that bfd_get_section_contents returns true. Check that relocs are
4559 properly ordered.
4560 (b_out_get_relocated_section_contents, case ALIGNDONE): Assert
4561 that reloc->addend falls between the current source offset and the
4562 raw size of the input section.
4563
4564 * config.bfd: Support i960 vxworks versions > 5.0 with coff, not
4565 bout. Default with no version number is still bout. Support
4566 explicit i960-coff target too.
4567
4568 * bout.c: Changed some indentation, deleted trailing whitespace,
4569 fixed some comments, removed some "#if 1" lines.
4570 (output_addr): New macro.
4571 (calljx_callback, callj_callback, get_value, abs32code, aligncode,
4572 b_out_get_relocated_section_contents): Use it for readability.
4573
c6cdb69a
JL
4574Tue Feb 15 09:00:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4575
4576 * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
4577 symbols, not the BFD symbols.
4578 (som_bfd_ar_write_symbol_stuff): Likewise.
4579
6e033f86
JL
4580Mon Feb 14 22:55:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4581
24a1f6a0
JL
4582 * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
4583 have any symbols.
4584
6e033f86
JL
4585 * Finish basic read-write support for SOM archive libraries. Bugs
4586 surely remain as this hasn't been tested all that much.
4587 * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
4588 (struct som_misc_symbol_info): New structure to hold info necessary
4589 to build both normal and library symbol tables.
4590 (som_derive_misc_symbol_info): New function to derive info necessary
4591 to build both normal and library symbol tables.
4592 (som_build_and_write_symbol_table): Use new function to derive misc
4593 symbol information.
4594 (som_slurp_symbol_table): Update backend private data for symbols
4595 appropriately.
4596 (som_bfd_prep_for_ar_write): New function.
4597 (som_bfd_ar_symbol_hash): New function.
4598 (som_bfd_ar_write_symbol_stuff): New function.
4599 (som_write_armap): Flesh out.
4600 (som_vec): Fix ar padding character.
4601
4602 * som.c: Consistently use memset rather than bzero.
4603
8b8ddedb
SG
4604Mon Feb 14 17:02:28 1994 Stu Grossman (grossman at cygnus.com)
4605
4606 * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where
4607 appropriate.
4608 * rs6000-core.c: Use HOST_AIX instead of COREFILES_PLEASE.
4609 * config/rs6000.mh: Remove defs of ARCHIVES_PLEASE and
4610 COREFILES_PLEASE.
4611 * config/rs6000lynx.mh: Turn on Lynx core file support.
4612 * hosts/rs6000.h: #define HOST_AIX.
5cf354ef 4613 * hosts/rs6000lynx.h: Create this to enable Lynx host support.
8b8ddedb 4614
6863eb4b
JL
4615Sun Feb 13 14:30:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4616
50c5c4ad
JL
4617 * som.h (som_symbol_data): Safely access backend private data
4618 for BFD symbols. All callers changed.
4619
6e033f86 4620 * Read-only SOM archive support.
3c37f9ca
JL
4621 * som.c (som_bfd_count_ar_symbols): New helper function.
4622 (som_bfd_fill_in_ar_symbols): New helper function.
4623 (som_slurp_armap): New function to read a SOM LST.
4624
6863eb4b
JL
4625 * som.h: Include <lst.h> and <ar.h>.
4626
5e829a34
JL
4627Sat Feb 12 22:34:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4628
4629 * elfcode.h (elf_map_symbols): Fix typo.
4630 (write_object_contents): Check return values from prep_headers and
4631 elf_compute_section_file_positions.
4632 (set_section_contents): Likewise.
4633
a15691a5
DM
4634Fri Feb 11 16:56:50 1994 David J. Mackenzie (djm@thepub.cygnus.com)
4635
4636 * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
4637 (bfd_construct_extended_name_table): Check result of normalize.
4638
9783e04a
DM
4639Tue Feb 8 08:57:31 1994 David J. Mackenzie (djm@thepub.cygnus.com)
4640
4641 Make all callers of malloc or realloc (including via obstacks)
4642 check the result for NULL. Most set bfd_error to no_memory and
4643 return in that case; a few are harder to fix, and are marked
4644 with "FIXME <return type>".
4645
4646 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub
4647 hppa_elf_build_long_branch_stub): Check bfd_make_empty_symbol return.
4648 * linker.c (_bfd_generic_link_output_symbols
4649 _bfd_generic_link_write_global_symbol): Ditto
4650 * section.c (bfd_make_section_anyway): Ditto.
4651
4652 * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
4653 (first_phase): Ditto. FIXME void
4654 (tekhex_make_empty_symbol): Check bfd_zalloc.
4655
4656 * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
4657 (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
4658
4659 * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
4660
4661 * srec.c: Indent.
4662 (fillup_symbols): Check bfd_alloc. FIXME void
4663 (srec_mkobject srec_get_section_contents
4664 srec_set_section_contents): Check bfd_alloc.
4665 (srec_make_empty_symbol): Check bfd_zalloc.
4666
4667 * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
4668 (make_unique_section): Check bfd_alloc.
4669 (som_new_section_hook): Check bfd_zalloc.
4670 (bfd_som_attach_aux_hdr): Ditto. FIXME void
4671
4672 * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
4673
4674 * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
4675 (osf_core_core_file_p): Check bfd_alloc.
4676
4677 * oasys.c (oasys_slurp_symbol_table oasys_archive_p
4678 oasys_mkobject oasys_object_p oasys_new_section_hook
4679 oasys_set_section_contents): Check bfd_alloc.
4680 (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
4681 (oasys_make_empty_symbol): Check bfd_zalloc.
4682
4683 * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
4684 (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
4685
4686 * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
4687
4688 * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
4689
4690 * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
4691
4692 * linker.c (_bfd_link_hash_newfunc
4693 (generic_link_hash_newfunc
4694 (archive_hash_newfunc
4695 (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
4696 (_bfd_generic_final_link
4697 (_bfd_generic_link_output_symbols
4698 (default_indirect_link_order): Check bfd_alloc.
4699 (bfd_new_link_order): Check bfd_alloc_by_size_t.
4700
4701 * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
4702
4703 * ieee.c: Indent.
4704 (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
4705 ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
4706 (do_one): Check bfd_alloc. Return a boolean.
4707 (ieee_slurp_section_data): Check it.
4708 (init_for_output): Check bfd_alloc. Return a boolean.
4709 (ieee_set_section_contents): Check it.
4710 (do_with_relocs): Check bfd_alloc. Return a boolean.
4711 (ieee_bfd_debug_info_accumulate): Ditto. FIXME void.
4712 (ieee_mkobject): Check bfd_zalloc.
4713 (ieee_make_empty_symbol): Check bfd_zmalloc.
4714
4715 * hpux-core.c (hpux_core_make_empty_symbol): Check
4716 bfd_zalloc.
4717
4718 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
4719 bfd_zalloc.
4720 (hppabsd_core_core_file_p): Check bfd_zalloc.
4721
4722 * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
4723
4724 * elfcode.h (elf_new_section_hook): Check bfd_alloc.
4725 (bfd_section_from_phdr): Ditto.
4726 (write_relocs): Ditto. FIXME void
4727 (elf_map_symbols assign_section_numbers map_program_segments):
4728 Ditto. Return a boolean.
4729 (swap_out_syms): Ditto. Check elf_map_symbols.
4730 (elf_slurp_symbol_table): Check bfd_zalloc.
4731 (elf_slurp_reloca_table): Check bfd_alloc.
4732 (elf_slurp_reloc_table): Ditto.
4733 (elf_compute_section_file_positions): Check assign_section_numbers.
4734 (assign_file_positions_except_relocs): Return a boolean.
4735 Check map_program_segments.
4736 (elf_compute_section_file_positions): Check it.
4737
4738 * elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
4739
4740 * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
4741 realloc.
4742 (hppa_elf_stub_reloc): Ditto.
4743 (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
4744 (hppa_elf_build_long_branch_stub): Ditto.
4745 (elf32_hppa_backend_symbol_table_processing): Ditto.
4746
4747 * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc. Return a boolean.
4748 (ecoff_slurp_symbol_table): Check it.
4749 (ecoff_slurp_armap): Check bfd_alloc.
4750 (ecoff_write_armap): Check bfd_zalloc.
4751 (ecoff_link_hash_newfunc): Check bfd_hash_allocate and
4752 _bfd_link_hash_newfunc.
4753 (ecoff_link_add_externals): Check bfd_alloc.
4754
4755 * ctor.c (bfd_constructor_entry): Check bfd_alloc.
4756
4757 * coffgen.c (coff_real_object_p): Check bfd_alloc.
4758 (coff_renumber_symbols): Check bfd_alloc_by_size_t. Return a boolean.
4759 (coff_write_symbol): Check bfd_alloc. FIXME int
4760 (coff_write_linenumbers): Check bfd_alloc. Return a boolean.
4761 (coff_section_symbol): Check bfd_alloc_by_size_t.
4762 (coff_get_normalized_symtab): Check bfd_alloc.
4763 (coff_bfd_make_debug_symbol): Check bfd_zalloc.
4764 * libcoff-in.h: Change decls of coff_renumber_symbols,
4765 coff_write_linenumbers.
4766 * libcoff.h: Rebuilt.
4767 * coffcode.h (coff_write_object_contents): Check
4768 coff_renumber_symbols, coff_write_linenumbers.
4769
4770 * coffcode.h: Indent.
4771 (coff_add_missing_symbols): Check bfd_alloc_by_size_t. Return a
4772 boolean.
4773 (coff_write_object_contents): Check it.
4774
4775 * coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
4776 * coff-mips.c (mips_relocate_section): Ditto.
4777
4778 * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
4779 (do_slurp_bsd_armap): Ditto.
4780 (compute_and_write_armap): Check bfd_realloc value.
4781
4782 * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
4783 return value. Return boolean value.
4784 (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
4785 (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
4786 return value.
4787 (add_to_stringtab): Ditto. FIXME void
4788 (aout_link_hash_newfunc): Check bfd_hash_allocate return value.
4789 (aout_link_add_symbols): Check bfd_alloc value.
4790 (translate_symbol_table): Check translate_from_native_sym_flags.
4791 * hp300hpux.c (MY(slurp_symbol_table)): Ditto.
4792 * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
4793
4794 * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
4795
4796 * opncls.c (obstack_chunk_alloc): Define as malloc, not
4797 bfd_xmalloc_by_size_t.
4798 (_bfd_new_bfd): Check obstack_begin for 0 return.
4799
4800 * ieee.c (obstack_chunk_alloc): Define as malloc, not
4801 bfd_xmalloc_by_size_t.
4802 (ieee_archive_p): Check obstack_begin for 0 return and
4803 obstack_finish for NULL return.
4804
4805 * hash.c (obstack_chunk_alloc): Define as malloc, not
4806 bfd_xmalloc_by_size_t.
4807 (bfd_hash_table_init_n): Check obstack_begin for 0 return and
4808 obstack_finish for NULL return.
4809 (bfd_hash_lookup): Check obstack_alloc for NULL return.
4810
4811 * ecofflink.c (obstack_chunk_alloc): Define as malloc, not
4812 bfd_xmalloc_by_size_t.
4813 bfd_ecoff_debug_accumulate
4814 bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
4815 (add_file_shuffle add_memory_shuffle): Check obstack_alloc for
4816 NULL return. Return boolean, not void.
4817 (bfd_ecoff_debug_init): Check obstack_begin for 0 return.
4818 (bfd_ecoff_debug_accumulate): Check add_file_shuffle
4819 and add_memory_shuffle return.
4820 (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
4821 (bfd_ecoff_debug_accumulate): Check bfd_alloc.
4822 (ecoff_add_string): Check add_memory_shuffle return.
4823
4824 * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
4825 Remove decls.
4826 * libbfd.h: Rebuilt.
4827
30e441ca
SG
4828Fri Feb 11 15:35:32 1994 Stu Grossman (grossman at cygnus.com)
4829
4830 * configure.host: Add Lynx/rs6000 support.
4831 * config/i386-nlm.mt: Enable a.out file support.
4832 * config/rs6000lynx.mh: Lynx/rs6000 host support.
4833
5ee3886b
ILT
4834Fri Feb 11 17:25:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4835
4836 * archive.c (compute_and_write_armap): Rewrite somewhat to improve
4837 memory usage.
4838
9a793780
SS
4839Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com)
4840
4841 * archive.c: Change all references to '\n' in archive magic
4842 to '\012', for greater portability.
4843 * ecoff.c (ecoff_write_armap): Ditto.
4844
4845Thu Feb 10 12:58:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4846
4847 * aoutx.h (aout_link_write_other_symbol): Check strip settings to
4848 see whether symbol should be output.
4849 * genlink.h (struct generic_write_global_symbol_info): Added info
4850 field.
4851 * linker.c (_bfd_generic_final_link): Initialize wginfo.info.
4852 (_bfd_generic_link_write_global_symbol): Check strip settings to
4853 see whether symbol should be output.
4854 * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
4855
a62dd44f
JL
4856Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4857
9a793780
SS
4858 * som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
4859
a62dd44f
JL
4860 * som.c: Cast return values from BFD memory allocation routines to
4861 avoid warnings from the HP compiler.
4862
945f125b
ILT
4863Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4864
0d634116
ILT
4865 * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
4866 reloc on an "ldl" instruction too.
4867
945f125b
ILT
4868 * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
4869 when passing them to sprintf. Use %ld instead of %d.
4870
4871 * coff-rs6000.c (rs6000coff_mkarchive): Return false.
4872 (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
4873 Also removed unused variable namelen.
4874 (rs6000coff_write_armap): Declare orl_count and stridx parameters.
4875
4876Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4877
4878 * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
4879 conflicts.
4880 * libbfd.h: Rebuilt.
4881
fa965415
KR
4882Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4883
4884 * coff-alpha.c (reloc_nil): New function.
4885 (alpha_howto_table): Use it as special_function to prevent certain
4886 relocs from being adjusted by bfd_perform_relocation. IGNORE
4887 reloc should be partial_inplace.
4888 (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
4889 reloc on an "ldl" instruction too.
4890
7c202d37
PS
4891Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4892
4893 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
4894 hppa_elf_build_long_branch_stub): Cast to char * instead of int
4895 before performing pointer arithmetic.
4896
9ed21f0e
JL
4897Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4898
4899 * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
4900 configuration.
4901 (hppa*-*-*elf*): This configuration used hppa-elf now.
4902
4903 * som.c: This file is also used for HOST_HPPAOSF.
4904
4905 * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
4906
4907 * hosts/hppaosf.h: New host configuration file.
4908
4909 * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
4910 BSD handles both SOM and ELF object files.
4911
4912 * config/hppaosf.mh (HDEFINES): Delete. No longer needed.
4913 (RANLIB): Doesn't do anything, define it to be "echo".
4914
4915 * config/hppaosf.mt: New target makefile fragment for a PA running
4916 OSF1.
4917
bf969135
ILT
4918Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4919
66f1cff5
ILT
4920 * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
4921 (archures_init_table): If SELECT_ARCHITECTURES is not defined,
4922 added bfd_powerpc_arch.
4923 * bfd-in2.h: Rebuilt.
4924 * cpu-powerpc.c: New file.
4925 * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
4926 Rebuilt dependencies.
4927
bf969135
ILT
4928 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
4929 of an SHT_STRTAB section from sh_addr and sh_addralign, rather
4930 than just setting them to zero.
4931
b9d5cdf0
DM
4932Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
4933
4934 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
4935 from bfd_new_strtab.
4936 (elf_compute_section_file_positions): Check for false return from
4937 swap_out_syms.
4938
4939 * linker.c (default_indirect_link_order): Check for NULL return
4940 from bfd_get_relocated_section_contents.
4941
4942 * syms.c: Make example application in doc call xmalloc, not
4943 bfd_xmalloc.
4944
4945 * aoutx.h (NAME(aout,slurp_symbol_table),
4946 aout_link_get_symbols, NAME(aout,link_hash_table_create)):
4947 * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
4948 * ecoff.c (ecoff_bfd_link_hash_table_create):
4949 * ecofflink.c (bfd_ecoff_debug_init):
4950 * format.c (bfd_check_format_matches):
4951 * linker.c (_bfd_generic_link_hash_table_create):
4952 (_bfd_generic_final_link):
4953 * reloc16.c (bfd_coff_reloc16_relax_section):
4954 (bfd_coff_reloc16_get_relocated_section_contents):
4955 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
4956 * elf32-mips.c (mips_elf_final_link):
4957 * elfcode.h (bfd_new_strtab):
4958 (bfd_add_2_to_strtab):
4959 (elf_slurp_symbol_table):
4960 (elf_corefile_note):
4961 * libbfd.c (bfd_zmalloc):
4962 Use malloc and check the result, instead of bfd_xmalloc.
4963
6b054519
JK
4964Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4965
4966 * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
4967
bf430317
PS
4968Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4969
4970 * srec.c (srec_write_record): Put CONST keyword for "src" before
4971 "unsigned", some compilers don't like it after "unsigned".
4972 * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
4973 "val" in prototype declaration because some compilers don't like
4974 arguments whose names are the same as types.
4975
9b39ed6b
ILT
4976Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4977
4978 * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
4979 object file defines symbol. Also, if skipping a symbol, skip the
4980 second symbol of a N_WARNING or N_INDR symbol as well.
4981
d352be4f
ILT
4982Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4983
4984 Add basic support for writing RS/6000 XCOFF files.
4985 * coff-rs6000.c (dummy_reloc): Removed.
4986 (rs6000coff_howto_table): Defined XCOFF relocs.
4987 (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
4988 (rs6000coff_rtype2howto): New function.
4989 (coff_bfd_reloc_type_lookup): Defined to use
4990 rs6000coff_reloc_type_lookup.
4991 (rs6000coff_reloc_type_lookup): New function.
4992 (SELECT_RELOC): Defined to set r_type and r_size fields.
4993 (COFF_LONG_FILENAMES): Defined.
4994 * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
4995 fields to bitfields. Added fields fix_value and fix_scnlen.
4996 (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
4997 STYP_INFO for the type of a section named .debug.
4998 (coff_add_missing_symbols): Don't define if RS6000COFF_C.
4999 (coff_write_object_contents): If RS6000COFF_C, don't call
5000 coff_add_missing_symbols.
5001 (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
5002 entry has type STY_LD change the x_scnlen into a pointer to a
5003 symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
5004 value into a pointer to a symbol and set fix_value.
5005 * libcoff.h: Rebuilt.
5006 * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
5007 get the symbol offset. Likewise for fix_scnlen.
5008 (string_size): Change type to bfd_size_type.
5009 (debug_string_size, debug_string_section): New static variables.
5010 (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
5011 write the symbol name into the .debug section; assume that the
5012 section has already been created with the right size.
5013 (coff_write_symbols): Initialize debug_string_size to 0. If
5014 bfd_coff_symname_in_debug returns true, don't put symbol name in
5015 usual string table. After writing out all symbols, if
5016 debug_string_size is not 0, check that it matches the size of the
5017 .debug section.
5018 (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
5019 fields. If the string offset is 0, always use an empty string as
5020 the name.
5021 (coff_make_empty_symbol): Zero out the symbol structure.
5022 * reloc.c (bfd_perform_relocation): Work around one gross hack
5023 with another: actually look at the target name to avoid the broken
5024 COFF check.
5025 (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
5026 BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
5027 * bfd-in2.h: Rebuilt.
5028
0ee34272
DM
5029Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5030
5031 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
5032 (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
5033 * libbfd-in.h: Define them as macros calling xmalloc and declare
5034 xmalloc.
5035 * libbfd.h: Rebuilt.
0ee34272 5036
fa2302b8
ILT
5037Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5038
cbc174e7
ILT
5039 * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
5040 symbol has a value in the ECOFF symbol but not in the BFD symbol,
5041 keep the value in the ECOFF symbol. This helps gas.
5042
5072b8e5
ILT
5043 * linker.c (_bfd_generic_link_output_symbols,
5044 _bfd_generic_link_write_global_symbol): Don't require that all
5045 references to a common symbol be themselves common symbols.
5046
fa2302b8
ILT
5047 * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
5048
96ad107b
JK
5049Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5050
5051 * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
5052 sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
0324156c 5053 * bfd-in2.h: Rebuilt.
96ad107b 5054
192d8ee8
ILT
5055Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5056
38e1f0ce
ILT
5057 * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
5058 and size correctly.
5059 (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
5060 x_csect.x_scnlen.l to match change in coff/internal.h.
5061 (coff_swap_aux_out): Likewise.
5062
ebf3b4cd
ILT
5063 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
5064 (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
5065 fields to match yesterday's changes.
5066
192d8ee8
ILT
5067 * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
5068 in the internal_reloc itself, not the type.
5069 * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
5070 coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
5071 definition of SELECT_RELOC accordingly.
5072
330595d0
ILT
5073Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5074
5075 * coffcode.h (bfd_coff_backend_data): Added new arguments to
5076 _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
5077 and number of aux entries.
5078 (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
5079 accordingly.
5080 * libcoff.h: Rebuilt.
5081 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
5082 arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
5083 specially if this is the last aux entry.
5084 * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
5085 new arguments to swap_aux functions.
5086
4e810849
KR
5087Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5088
5089 * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
5090 (only testing for m68k and vax at the moment); do verify that the
5091 preprocessor didn't trash the arch name inside the string version.
5092 Don't print out "pagesize =" line that prevents output from
5093 compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
5094 results.
5095 * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
26b572e4
KR
5096 (check, installcheck): Identify directory in "no testsuites"
5097 message.
4e810849 5098
2edc8357
ILT
5099Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5100
5101 * aoutx.h (aout_link_write_symbols): Write out correct value for
5102 object file symbol.
5103
098630a0
KR
5104Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5105
5106 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
5107 KERNBASE, so hard-code 0x80000000 instead.
5108
c3156966
ILT
5109Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5110
5111 * linker.c (generic_link_add_symbol_list): If symbol is common,
5112 set the BSF_OLD_COMMON flag.
5113
d6d4e4c3
DM
5114Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5115
5116 * format.c (bfd_check_format_matches): Put the new entry in the
5117 correct element of matching_vector.
5118
09f70549
JK
5119Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5120
5121 * som.c, som.h (bfd_som_set_section_attributes,
5122 bfd_som_set_subsection_attributes): Change parameters from char
5123 to int. Following a prototype with an old-style function definition
5124 in the presence of widened parameters is a GCC-ism not supported
5125 by the HP compiler in ANSI mode.
5126
a927c32d
ILT
5127Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5128
8638431e
ILT
5129 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
5130
3b490cdd
ILT
5131 * hp300hpux.c (MY(write_object_contents)): Write out the symbols
5132 before writing out the relocs, so that the right symbol indices
5133 are used.
5134
71d58b59
ILT
5135 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
5136 try to overlay the internal carsyms on the external symdefs. That
5137 can not work if the size of a host pointer is larger than 4 bytes.
5138
5139 * format.c (bfd_check_format_matches): Cast result of
5140 bfd_xmalloc_by_size_t.
5141 * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
5142
a927c32d
ILT
5143 * archive.c: Reindented to GNU standards.
5144
aabda2da
DM
5145Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5146
f4bd7a8f
DM
5147 * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
5148 "_bfd_" to function names.
5149 * archive.c (_bfd_create_empty_archive_element_shell),
5150 libbfd-in.h: Change callers.
5151
5152 * libbfd.c (bfd_zmalloc): Renamed from zalloc.
5153 * libbfd.c (bfd_add_to_string_table),
5154 trad-core.c (trad_unix_core_file_p),
5155 targets.c (bfd_target_list),
5156 ptrace-core.c (ptrace_unix_core_file_p),
5157 opncls.c (new_bfd), libbfd-in.h,
5158 ieee.c (ieee_make_empty_symbol),
5159 elf32-hppa.c (hppa_elf_stub_branch_reloc),
5160 (hppa_elf_stub_reloc): Change callers.
5161 * libbfd.h: Regenerated.
5162
5163 * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
5164 (_bfd_get_elt_at_filepos),
5165 coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
5166 Change callers.
5167
5168 * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
5169 elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
5170 and default_vector to bfd_default_vector.
5171 * libbfd.h: Regenerated.
5172
aabda2da
DM
5173 * format.c (bfd_check_format_matches): New function.
5174 (bfd_check_format): Call it.
5175 (bfd_matching_formats): Function removed.
5176 * targets.c: Replace the vector added on Jan 21 with a count of
5177 entries in default_vector.
5178 * bfd-in2.h: Regenerated.
5179
ca1c6bec
ILT
5180Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5181
3f048f7f
ILT
5182 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
5183 .pdata section based on lnnoptr field, not section header.
5184 (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
5185 since it is unsigned.
5186 (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
5187 coff_object_p.
5188 * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
5189 .pdata section to 3.
5190 (ecoff_compute_section_file_positions): Save the size of the
5191 .pdata section in the line_filepos field, and actually align the
5192 .pdata section to an alignment power of 4.
5193 (ecoff_compute_reloc_file_positions): Set output_has_begun after
5194 calling ecoff_compute_section_file_positions.
5195 (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
5196 section from the line_filepos field. Set vstamp for the optional
5197 header from the vstamp of the symbolic header.
5198 (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
5199 vstamp used by the first object file in the link.
5200
5201 * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
5202
a20bdb43
ILT
5203 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
5204 for a created common section.
5205 (_bfd_generic_link_add_one_symbol): Likewise.
5206
5207 * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
5208 get the index of a common section, rather than always using
5209 SHN_COMMON (MIPS has multiple common sections).
5210
7a60ed8c
ILT
5211 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
5212
4991ebb9
ILT
5213 * bfd/aoutx.h (aout_link_input_section_std,
5214 aout_link_input_section_ext): Pass additional arguments to
5215 reloc_overflow callback.
5216 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
5217 alpha_relocat_section): Likewise.
5218 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
5219 * coff-h8500.c (extra_case): Likewise.
5220 * coff-mips.c (mips_relocate_section): Likewise.
5221 * coff-z8k.c (extra_case): Likewise.
5222 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
5223 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
5224
1cedfe03
ILT
5225 * bout.c (calljx_callback, callj_callback): Use get_value to get
5226 the symbol value and check for undefined symbols.
5227 (get_value): If the symbol is undefined, look it up in the linker
5228 hash table.
5229 (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
5230 use get_value to get the symbol value and check for undefined
5231 symbols.
5232 * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
5233 undefined, look it up in the linker hash table.
5234
ca1c6bec
ILT
5235 * aoutx.h (translate_symbol_table): The string index 0 has a
5236 special meaning for normal symbols, but not for dynamic symbols.
5237
3f2255e7
SG
5238Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
5239
5240 * sparclynx.c: Setup appropriate macros to enable core file
5241 support.
5242
0f8f509c
DM
5243Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5244
3b31740c
DM
5245 * targets.c: Add a vector of matching format names.
5246 * format.c (bfd_matching_formats): New function to return it.
5247 (bfd_check_format): Set it.
5248 * bfd-in2.h: Regenerated.
5249
0f8f509c
DM
5250 * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
5251 Remove decl of type symclass; wasn't used.
5252 * bfd.c: Document error handling, including code fragments
5253 containing the error decls that were in bfd-in.h.
5254 Remove DEFUNs.
5255 * bfd-in2.h: Regenerated.
5256
27814aa6 5257Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
4733517b
JK
5258
5259 * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
5260 The sparc (and possibly other?) NLM format requires a different
5261 way to write exports, so add a write_export field to the backend
5262 data (and set it to NULL for everything but the sparc).
e7cc9a2e 5263
3f40d101
DM
5264Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5265
e7cc9a2e
JK
5266 * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
5267 not (struct external_nlist *) NULL. info->dynrel is a PTR, not
5268 a struct external_nlist *.
5269
6de49562
DM
5270Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5271
74788cf0 5272 * bfd.c: Remove error strings for errors removed below.
6de49562
DM
5273 * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
5274 oasys.c (oasys_write_sections): Rename
5275 bfd_error_nonrepresentable_section to nonrepresentable_section.
5276 None of the other bfd error names start with "bfd_error".
5277 Remove errors symbol_not_found and no_relocation_info, which seem
5278 to be unused.
5279 * bfd-in2.h: Regenerated.
5280
0ee75d02
ILT
5281Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5282
fcc41f68
ILT
5283 * bfd.c (bfd_get_gp_size): Added support for ELF.
5284
0ee75d02
ILT
5285 * syms.c (BSF_DYNAMIC): New symbol flag.
5286 (bfd_print_symbol_vandf): Print it.
5287 * bfd-in2.h: Rebuilt.
5288 * libaout.h (struct aout_backend_data): New read_dynamic_symbols
5289 and read_dynamic_relocs fields.
5290 (struct aoutdata): New dynamic_info field.
5291 (obj_aout_dynamic_info): New accessor macro.
5292 * sunos.c (struct sunos_dynamic_info): New structure.
5293 (sunos_read_dynamic_info, MY(read_dynamic_symbols),
5294 MY(read_dynamic_relocs)): New functions to read dynamic symbols
5295 and relocs.
5296 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
5297 dynamically linked, set SEC_RELOC for both the .text and .data
5298 sections.
5299 (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
5300 undefined symbol.
5301 (translate_symbol_table): New function, split out of
5302 slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
5303 (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
5304 (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
5305 (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
5306 return value.
5307 * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
5308 out dynamic symbols or relocs against reloc symbols, since they
5309 are already in the .text section and we wouldn't know where to
5310 write them anyhow.
5311 (sunos4_aout_backend): Initialize read_dynamic_symbols and
5312 read_dynamic_relocs fields.
5313 * aout-target.h (MY(backend_data)): Initialize
5314 read_dynamic_symbols and read_dynamic_relocs fields.
5315
dc3da58f
KR
5316Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5317
5318 * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
5319 typedefs, since HOST_64_BIT will take care of defining them in
5320 bfd.h.
5321
7e7fb4a8
KR
5322Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5323
5324 * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
5325 that's dealt with elsewhere.
5326 * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
5327 (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
5328 they get copied to bfd.h.
5329
5330 * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
5331 types. Reorganized some of the existing ones.
5332 * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
5333 values in case of compilation on a 32-bit machine. Fix pcrel
5334 fields of some reloc types.
5335 (alpha_bfd_reloc_type_lookup): Handle more relocation types.
5336
5337 * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
5338 definitions when not defined, regardless of whether uint64_type is
5339 a defined macro or not.
5340 (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
5341 already defined.
5342
d7e34f67
ILT
5343Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5344
5345 * aoutx.h (translate_to_native_sym_flags): Set the type of a
5346 BSF_WARNING symbol to N_WARNING.
5347
53155af1
ILT
5348Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5349
5350 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
5351 for an indirect or warning symbol.
5352 (aout_link_write_symbols): Update sym_hash with the target of an
3a5b50f4
ILT
5353 indirect or warning symbol. If an indirect symbol is defined,
5354 output the calculated value and don't output the target symbol.
53155af1 5355
0c205af2
DM
5356Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5357
5358 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
5359 an (unused) nonzero section value, needed for check below.
5360
964affdc
DM
5361Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5362
5363 * aoutx.h (translate_from_native_sym_flags,
5364 aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
5365 N_SET[ABDT].
5366
38a5f510
ILT
5367Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5368
5369 * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
5370 the DYNAMIC flag for the BFD.
5371 (NAME(bfd_elf,write_object_contents)): Don't try to write out a
5372 BFD with the DYNAMIC flag set, since we don't generate the program
5373 header table correctly.
5374
5375Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5376
5377 * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
5378 of the function to avoid storage leak.
5379
75919b3b
ILT
5380Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5381
5382 * ecoff.c (ecoff_link_write_external): An ifd can be -1.
5383
39961154
JL
5384Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5385
9558d13f
JL
5386 * som.c (som_set_reloc_info): Provide a default symbol for
5387 relocations which don't actually have an associated symbol.
5388
39961154
JL
5389 * som.c (hppa_som_reloc): Add new "error message" argument.
5390
32476597
PS
5391Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5392
5393 Enable gdb to write to core files on more core file readers.
5394 * libbfd.c (bfd_generic_set_section_contents): Remove range check
5395 for section size, it is already done in bfd_set_section_contents
5396 with bfd_get_section_size_now.
5397 * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
5398 osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
5399 Use bfd_generic_set_section_contents instead of bfd_false.
5400
92f345b9
ILT
5401Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5402
39961154
JL
5403 * linker.c: Added initial documentation.
5404
92f345b9
ILT
5405 * linker.c (default_indirect_link_order): Don't expect space for
5406 output relocations if there aren't any input relocations.
5407
fed872d3
ILT
5408Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5409
c5481a5e
ILT
5410 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
5411 file offsets.
5412
fed872d3
ILT
5413 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
5414 STT_NOTYPE.
5415
b36b8a6e
JK
5416Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5417
5418 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
5419 Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
5420
cf286547
ILT
5421Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5422
5423 * ecofflink.c: Extensive changes to compress and merge debugging
5424 information, and to write some of out directly rather than saving
5425 it in memory. Several new functions and structures, and new
5426 arguments to existing functions.
5427 * ecoff.c (ecoff_compute_reloc_file_positions): Compute
5428 sym_filepos as well.
5429 (ecoff_get_extr): Use ifdmap instead of ifdbase.
5430 (ecoff_write_object_contents): Don't compute sym_filepos here.
5431 Only output symbols if outsymbols is not NULL.
5432 (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
5433 bfd_ecoff_debug functions. Write out debugging information here.
5434 (ecoff_final_link_debug_accumulate): Adjust for changes in
5435 bfd_ecoff_debug functions.
5436 (ecoff_link_write_external): Use ifdmap rather than ifdbase.
5437 * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
5438 first, to put them in the first memory buffer. Clear fdr field.
5439 (mips_elf_get_extr): Use pointer to unswapped external symbol.
5440 (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
5441 Preserve .text, .data and .bss even if they are empty. Save
5442 pointer to unswapped external symbol rather than copying it.
5443 Don't free up the external symbols.
5444 * libelf.h (elf_symbol_type): Change mips_extr to PTR.
5445 * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
5446 (bfd_ecoff_debug_accumulate): Update declaration.
5447 (bfd_ecoff_debug_accumulate_other): Rename declaration from
5448 bfd_ecoff_debug_link_other and update.
5449 (bfd_ecoff_write_accumulated_debug): Declare.
5450 * bfd-in2.h: Rebuilt.
5451 * Makefile.in: Rebuilt dependencies.
5452
2c96ba79
JK
5453Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5454
5455 * Makefile.in (install): Remove "@" which follows a backslash. In
5456 this position it just causes errors, not suppresses echoes.
5457
2304e1e8
JL
5458Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5459
5460 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
5461 field selectors.
5462
fb4cf140
KR
5463Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5464
5465 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
5466
d44b2ddb
DM
5467Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5468
5330499f
DM
5469 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
5470 end of data if they are not contiguous.
5471
d44b2ddb
DM
5472 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
5473
a5a835ff
ILT
5474Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5475
5476 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
5477 for .reginfo section here.
5478 (ecoff_new_section_hook): Set it here instead.
5479
442da995
SS
5480Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
5481
5482 * bfd-in.h: (bfd_boolean): Add workaround for systems that also
5483 define true and false as enums.
5484 (ALMOST_STDC): Add as alternative to __STDC__.
5485 * bfd-in2.h: Rebuilt.
5486 * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
5487
6f56c941
DM
5488Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5489
5490 * aoutx.h (translate_to_native_sym_flags): Catch the case where
5491 there is no output section.
5492
2f84ec0d
ILT
5493Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5494
90d58284
ILT
5495 * nlmcode.h (nlm_object_p): If we can't read the fixed header,
5496 count it as a wrong format error, not a system call error, since
5497 the object file might simply be too small.
5498
5499 * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
5500 BFD64.
5501 * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
5502 (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
5503 support, even though it is for an Alpha in 32 bit mode.
5504 * configure.in (nlm32_alpha_vec): Set target64 to true.
5505
5506 * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
5507 different, so there is no point to providing a generic one.
5508 * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
5509 in the backend accessor macros; that should no longer be possible.
5510 * targets.c (target_vector): Removed nlm32_big_generic_vec,
5511 nlm64_big_generic_vec, nlm64_little_generic_vec.
5512 * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
5513 nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
5514 * Makefile.in: Rebuilt dependencies, and
5515 (BFD32_BACKENDS): Removed nlm32-gen.o.
5516 (BFD64_BACKENDS): Removed nlm64-gen.o.
5517 (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
5518
559d5074
ILT
5519 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
5520
2f84ec0d
ILT
5521 * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
5522 bitsize arguments. Changed all callers (aoutx.h).
5523 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
5524 and bitsize arguments to declaration.
5525 * libbfd.h: Rebuilt.
5526
5527 * ecoff.c: First cut at new style of linker backend for
5528 ECOFF--added a bunch of functions. Also:
5529 (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
5530 (ecoff_slurp_symbolic_header): New function.
5531 (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
5532 (ecoff_compute_reloc_file_positions): New function.
5533 (ecoff_set_section_contents): Get out quickly if count is zero.
5534 Check errors better.
5535 (ecoff_write_object_contents): Put .xdata section in data segment.
5536 Call ecoff_compute_reloc_file_positions. Don't output relocs or
5537 external symbols if outsymbols is NULL.
5538 (ecoff_bfd_final_link): Completely rewritten.
5539 * libecoff.h: Include bfdlink.h.
5540 (struct ecoff_backend_data): Add relocate_section field.
5541 (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
5542 (struct ecoff_link_hash_entry): Define.
5543 (struct ecoff_link_hash_table): Define.
5544 (ecoff_bfd_link_add_symbols): Declare as function, not macro.
5545 (ecoff_bfd_link_hash_table_create): Likewise.
5546 * ecofflink.c (bfd_ecoff_debug_one_external): New function.
5547 (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
5548 * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
5549 * bfd-in2.h: Rebuilt.
5550 * coff-alpha.c (alpha_howto_table): Mark BRADDR as
5551 partial_inplace, and set the src_mask to 0x1fffff.
5552 (alpha_ecoff_get_relocated_section_contents): Remove unused
5553 variable gp_warned.
5554 (alpha_convert_external_reloc): New static function.
5555 (alpha_relocate_section): New static function.
5556 (alpha_ecoff_backend_data): Initialize relocate_section field.
5557 * coff-mips.c (mips_relocate_refhi): New static function.
5558 (mips_relocate_section): New static function.
5559 (mips_ecoff_backend_data): Initialize relocate_section field.
5560
5561 * reloc.c (_bfd_relocate_contents): Corrected signed overflow
5562 checking when there is an addend.
5563
5564 * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
5565 a non a.out file, just pass it to _bfd_default_link_order.
5566 (aout_link_input_section_std): When doing a final PC relative link
5567 against a section symbol, subtract the VMA of the input section.
5568 (aout_link_input_section_ext): Likewise.
5569
5570 * linker.c (default_indirect_link_order): Renamed from
5571 _bfd_generic_indirect_link_order and made static.
5572 (_bfd_generic_final_link): Don't switch on link_order type, just
5573 call _bfd_default_link_order.
5574 (_bfd_default_link_order): Handle bfd_indirect_link_order type.
5575 * genlink.h: Removed declaration of
5576 _bfd_generic_indirect_link_order.
5577 * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
5578 type, just call _bfd_default_link_order.
5579
5580Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
5581
5582 * linker.c (generic_link_check_archive_element): Base the name of
5583 the created common section on the name of the section the symbol
5584 came from.
5585 (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
5586 must have a section, so don't bother to create one.
5587
83acd9a2
DM
5588Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5589
5590 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
5591 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
5592 If the DYNAMIC flag is set, set it in the exec header.
5593 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
5594 dynamically linked, set the DYNAMIC flag in the BFD.
5595 * libaout.h (N_SET_DYNAMIC): New macro.
5596 (N_DYNAMIC): Add missing 0 in mask.
5597
031534b0
ILT
5598Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5599
2f84ec0d
ILT
5600 * ecoff.c (ecoff_get_extr): Don't output section symbols as
5601 external symbols.
5602
85d73944
ILT
5603 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
5604 to unsigned int, because size_t may not be defined in bfd.h.
5605 * bfd-in2.h: Rebuilt.
5606
8120aa8f
ILT
5607 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
5608 be a const pointer.
5609 * bfd-in2.h: Rebuilt.
5610 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
5611 be a const pointer.
5612 * targets.c (bfd_target): Change swap function pointers
5613 accordingly.
5614 * archive.c (do_slurp_coff_armap): Change swap accordingly.
5615 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
5616 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
5617 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
5618 accordingly.
5619
b59f0276
ILT
5620 * libbfd-in.h (struct artdata): Added tdata field.
5621 (_bfd_add_bfd_to_archive_cache): Declare.
2af2b7c4 5622 (_bfd_get_elt_at_filepos): Declare.
b59f0276
ILT
5623 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
5624 * libbfd.h: Rebuilt.
5625 * archive.c: Cleaned up some more.
5626 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
5627 pointer elements of artdata.
5628 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
5629 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
2af2b7c4
ILT
5630 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
5631 (get_extended_arelt_filename, bfd_construct_extended_name_table,
5632 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
b59f0276
ILT
5633 * ecoff.c: Some comment changes.
5634 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
5635 ardata->tdata to raw_armap.
5636 (ecoff_archive_p): Initialize pointer elements of artdata.
5637 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
5638 add_bfd_to_cache.
5639
031534b0
ILT
5640 * hash.c: Added some documentation.
5641
3f99570e
JK
5642Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5643
5644 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
5645 and do the swapping here rather than calling ntohl from the N_*
5646 macros. This cleans up assumptions about the size of a host long,
5647 the existence to ntohl, etc.
5648
e38bcbdb
RS
5649Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
5650
5651 * config.bfd: Add support for VSTa micro-kernel. It currently uses
5652 i386-aout.
5653
f4d7c848
DM
5654Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5655
00fe3f53 5656 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
f4d7c848
DM
5657 * i386mach3.c (SEGMENT_SIZE): Fix value.
5658
728472f1
ILT
5659Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5660
5661 Minor cleanups suggested by CodeCenter.
5662 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
5663 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
5664 appropriate.
5665 * aoutx.h (struct external_exec): Removed unnecessary declaration.
5666 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
5667 (adjust_z_magic): Removed useless variable data_vma.
5668 (stringtab_init): Initialize hash_zero.
5669 (add_to_stringtab): Removed unused fourth argument.
5670 (NAME(aout,swap_std_reloc_out)): Removed useless variable
5671 r_addend.
5672 (aout_link_input_section): Added some casts.
5673 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
5674 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
5675 Minor code rewriting to make it more C like.
5676 (do_slurp_bsd_armap): Added some casts.
5677 * ecoff.c (ecoff_write_object_contents): Removed useless variable
5678 scn_base.
5679 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
5680 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
5681 * libaout.h (struct internal_exec): Removed unnecessary
5682 declaration.
5683 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
5684 * opncls.c (new_bfd): Removed a cast.
5685 * reloc.c (bfd_generic_get_relocated_section_contents): Added
5686 some casts.
5687 * srec.c (internal_srec_write_object_contents): Removed useless
5688 variable bytes_written.
5689
696df58f
DM
5690Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
5691
5692 * i386mach3.c (N_TXTADDR): Don't define after all.
5693 (TEXT_START_ADDR): Don't include exec header size in value.
5694
e450eb45
DM
5695Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
5696
5697 * i386mach3.c (N_TXTADDR): Define.
5698
4c3721d5
ILT
5699Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5700
5701 Extensive changes to move the bulk of the linker into BFD so that
5702 more efficient backend code can be written for specific object
5703 files. Only existing efficient backend is a.out.
5704 * seclet.c, seclet.h: Removed.
5705 * hash.c, linker.c, genlink.h: New files.
5706 * bfd-in.h: Removed bfd_error_vector. Declared hash table
5707 structures and functions.
5708 (JUMP_TABLE): Removed bfd_seclet_link, added
5709 bfd_link_hash_table_create, bfd_link_add_symbols and
5710 bfd_final_link.
5711 * All backends: Changed accordingly.
5712 * bfd-in2.h: Rebuilt.
5713 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
5714 Removed ld_symbols field.
5715 (bfd_nonrepresentable_section, bfd_undefined_symbol,
5716 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
5717 bfd_error_vector): Removed.
5718 (bfd_default_error_trap, bfd_error_trap,
5719 bfd_error_nonrepresentabltrap): Removed.
5720 (bfd_get_relocated_section_contents): Pass link_info. Pass
5721 link_order instead of seclet. Pass symbols.
5722 (bfd_relax_section): Pass link_info.
5723 (bfd_seclet_link): Removed.
5724 (bfd_link_hash_table_create, bfd_link_add_symbols,
5725 bfd_final_link): New macros.
5726 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
5727 alloca as __builtin_alloca. Declare internal linking functions.
5728 * libbfd.h: Rebuilt.
5729 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
5730 for months.
5731 * reloc.c (reloc_howto_type): Added error_message argument to
5732 special_function field. Changed all callers and all definitions.
5733 (bfd_get_reloc_size): Make argument a const pointer.
5734 (bfd_perform_relocation): Add error_message argument to hold
5735 string set if return value if bfd_reloc_dangerous. Changed all
5736 callers.
5737 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
5738 * section.c (asection): Renamed seclets_head and seclets_tail to
5739 link_order_head and link_order_tail.
5740 * targets.c (bfd_target): Replaced seclet argument with link_info
5741 and link_order and symbols arguments in
5742 bfd_get_relocated_section_contents. Added symbols argument to
5743 bfd_relax_section. Removed bfd_seclet_link. Added
5744 bfd_link_hash_table_create, bfd_link_add_symbols and
5745 bfd_final_link.
5746 * libaout.h (struct aoutdata): Added external_syms,
5747 external_sym_count, external_strings, sym_hashes fields.
5748 (obj_aout_external_syms, obj_aout_external_sym_count,
5749 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
5750 macros.
5751 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
5752 * aoutx.h: Wrote new back end linker routines.
5753 (translate_to_native_sym_flags): Return boolean value. Don't use
5754 bfd_error_vector.
5755 (NAME(aout,write_syms)): Return boolean value. Check return value
5756 of translate_to_native_sym_flags and bfd_write.
5757 * aout-target.h (final_link_callback): New function.
5758 (MY_bfd_final_link): New function.
5759 * aout-adobe.c (aout_adobe_write_object_contents): Check return
5760 value of aout_32_write_syms.
5761 * hp300hpux.c (MY(write_object_contents)): Likewise.
5762 * i386lynx.c (WRITE_HEADERS): Likewise.
5763 * libaout.h (WRITE_HEADERS): Likewise.
5764 * bout.c: Changed functions to use link_info->callbacks rather
5765 than bfd_error_vector, and link_orders rather than seclets.
5766 * coff-alpha.c: Likewise.
5767 * coff-h8300.c: Likewise.
5768 * coff-h8500.c: Likewise.
5769 * coff-sh.c: Likewise.
5770 * coff-z8k.c: Likewise.
5771 * elf32-hppa.c: Likewise.
5772 * reloc16.c: Likewise.
5773 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
5774 up _gp in the hash table rather than in outsymbols.
5775 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
5776 argument rather than printing them.
5777 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
5778 link_order arguments rather than seclet. Changed all uses and
5779 definitions.
5780 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
5781 all uses and definitions.
5782 * libcoff.h: Rebuilt.
5783 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
5784 not by ECOFF, make it scAbs.
5785 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
5786 rewritten.
5787 * elf32-mips.c (mips_elf_final_link): Renamed from
5788 mips_elf_seclet_link and rewritten.
5789 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
5790 field.
5791 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
5792 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
5793 Added link_info arguments. Changed all callers.
5794 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
5795 not NULL.
5796 * oasys.c (oasys_write_sections): Return boolean value rather than
5797 using bfd_error_vector.
5798 (oasys_write_object_contents): Check return value of
5799 oasys_write_sections.
5800 * hosts/std-host.h: Don't declare qsort or strtol.
5801 * Makefile.in: Rebuild dependencies.
5802 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
5803 (CFILES): Removed seclet.c. Added hash.c and linker.c.
5804 (HFILES): Removed seclet.h. Added genlink.h.
5805
1adbf662
PS
5806Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5807
5808 * section.c (bfd_get_section_contents): Return zero filled buffer
5809 if section has no contents.
5810
d1b44e83
ILT
5811Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5812
5813 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
5814 then skip bfd_perform_relocation even if the addend is non-zero.
5815
a2805287
KR
5816Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
5817
5818 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
5819 addend to r_offset field.
5820
5821 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
5822
5823 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
5824 CALC_ADDEND): Define.
5825
5826 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
5827 the offsetof because AIX /bin/cc does not like to take the address
5828 of an array. (From Minh Tran-Le.)
5829
277b2d2b
JL
5830Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5831
a2805287
KR
5832 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
5833
5834 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
5835 the return pointer into %r2 if no jump-in-call-delay-slot
5836 optimization was done.
5837
277b2d2b
JL
5838 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
5839
f8af9b40
DM
5840Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
5841
5842 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
5843
5844 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
5845 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
5846
5847 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
5848 (TEXT_START_ADDR): Correct.
5849 (MY_backend_data): Define.
5850
5851 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
5852 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
5853
c97ae6e4
JL
5854Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5855
5856 * som.c (som_begin_writing): Fix thinkos in auxiliary header
5857 support.
5858 (bfd_som_attach_aux_hdr): Likewise.
5859
a36b6f1d
JL
5860Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5861
5862 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
5863 selectors for PIC code.
5864
5865 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
5866 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
5867 relocations needed by PIC.
5868
9e6f2498
SG
5869Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
5870
5871 * nlmcode.h: Fixes to avoid compiler warnings...
5872
900e6d96
ILT
5873Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
5874
5875 * libnlm.h (nlm_backend_data): Removed macro definition.
5876 (nlm_alpha_backend_data): Adjusted accordingly.
5877
017a52d7
JL
5878Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5879
f6c2300b
JL
5880 * som.c (som_begin_writing): Flesh out code for handling simple
5881 auxiliary headers.
5882 (bfd_som_attach_aux_hdr): New function.
5883
5884 * som.h (struct somdata): Add fields for attaching version and
5885 copyright headers. Add accessor macros.
5886
744069b8
JL
5887 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
5888 definitions for old versions of HPUX which fail to define them.
5889 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
5890 now that they're safe. Delete bogus R_STATEMENT relocations.
5891
017a52d7
JL
5892 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
5893 extra R_DATA_OVERRIDE.
5894 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
5895 mode selector if needed.
5896 (som_write_fixups): Handle requests for a change in the default
5897 rounding mode. Rounding modes do not consume input bytes, but
5898 are just markers much like R_ENTRY and R_EXIT.
5899
48eb5281
JL
5900Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5901
5902 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
5903
017a52d7
JL
5904 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
5905 the branch instruction as originally been nullified.
5906 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
5907 case of no code reordering due to an LDO instruction in the
5908 delay slot of the branch. Make sure to relocate the correct
5909 instruction. Do not perform instruction reordering for millicode
5910 calls.
5911 (hppa_elf_build_arg_reloc_stub): Change the relocation type
5912 to R_HPPA_STUB_CALL_17 when special processing might be needed.
5913 (hppa_elf_build_long_branch_stub): Prevent code reordering on
5914 a call from a linker stub to another linker stub and for millicode
5915 calls. Do not trash the return register for calls from one linker
5916 stub to a second linker stub.
5917
4861ac76
JL
5918 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
5919 relocations are not pc-relative.
5920
48eb5281
JL
5921 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
5922 linker stub code.
5923 (COPY_2_31): Likewise.
5924
ecb2d887
ILT
5925Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5926
5927 * config/solaris2.mh (HDEFINES): Remove -Dconst=
5928 * hosts/solaris.h: If not __GNUC__, define const as empty.
5929
800748cd
ILT
5930Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5931
4919d3ab
ILT
5932 * ecoff.c: Added various casts for 32/64 bit cross targeting.
5933 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
5934 section so that the linker ignores it.
5935 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
5936 (ecoff_add_bytes): Changed need argument to size_t.
5937 (bfd_ecoff_debug_link_other): Check return value of
5938 ecoff_add_string.
5939
5940 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
5941 list.
5942 * libbfd.h: Rebuilt.
5943
800748cd
ILT
5944 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
5945 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
5946 (struct nlm_backend_data): New field no_uninitialized_data.
5947 (nlm_no_uninitialized_data): New accessor macro.
5948 * nlmcode.h (nlm_compute_section_file_positions): Handle
5949 no_uninitialized_data.
5950 (nlm_external_reloc_compare): Sort relocs by address for a
5951 particular symbol, to make the sort more stable.
5952 (nlm_write_object_contents): Cast the arguments to qsort. Get the
5953 value of a debugging symbol the same way we get the value of a
5954 normal symbol.
5955 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
5956 Set no_uninitialized_data to true.
5957 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
5958 (nlm32_sparc_backend): Set no_uninitialized_data field false.
5959 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
5960 before filling it in.
5961
a7f6a456
JL
5962Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
5963
5964 * som.c (som_section_type, som_decode_symcalss): New functions.
5965 (som_get_symbol_info): Use them.
5966 (som_slurp_symbol_table): Set the section of common and undefined
5967 symbols correctly.
5968
848ace96
KR
5969Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
5970
5971 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
5972 make gcc happy.
5973
5974 * mipsbsd.c: Changes from Ralph Campbell:
5975 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
5976 complain_overflow_dont.
5977 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
5978 make gdb happy.
5979
5980 * bfd.c (bfd_errmsgs): Reword invalid-target message.
5981
5982 * config.bfd: For sparc*-*-coff, use sparc-coff.
5983 * configure.in: Handle sparccoff_vec.
5984 * targets.c (sparccoff_vec): Declare.
5985
5986 * reloc.c (bfd_get_reloc_size): New function.
5987 (struct reloc_howto_type): Update documentation of size field.
5988
2f555d79
ILT
5989Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5990
68eaffda
ILT
5991 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
5992 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
5993 * config/alpha-nlm.mt: New file.
5994 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
5995 nlm32.o, and nlm.o.
5996 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
5997 (CFILES): Added nlm32-alpha.c.
5998 Rebuilt dependencies.
5999 * targets.c (nlm32_alpha_vec): Declare.
6000
6001 * libnlm.h (struct nlm_backend_data): New fields
6002 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
6003 nlm_set_public_section, nlm_get_public_offset. Removed unused
6004 nlm_write_reloc field. Changed nlm_write_import to remove
6005 unnecessary symbol argument. Renamed nlm_write_externals to
6006 nlm_write_external, and changed cound argument from bfd_vma to
6007 bfd_size_type.
6008 (nlm_optional_prefix_size, nlm_backend_object_p_func,
6009 nlm_write_prefix_func, nlm_set_public_section_func,
6010 nlm_get_public_offset_func): New accessor macros.
6011 (nlm_write_reloc_func): Removed.
6012 (nlm_write_external_func): Adjusted for field renaming.
6013 * nlm32-i386.c (nlm_i386_write_import): Renamed from
6014 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
6015 just called old nlm_i386_write_reloc.
6016 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
6017 Declared. Changed second argument from bfd_vma to bfd_size_type.
6018 (nlm32_i386_backend): Adjusted for changes to fields and names.
6019 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
6020 ifdeffed out code.
6021 (nlm_sparc_write_import): Removed second argument.
6022 (nlm_sparc_write_external): Renamed from
6023 nlm_sparc_write_externals. Changed second argument from bfd_vma
6024 to bfd_size_type.
6025 (nlm32_sparc_backend): Adjusted for changes to fields and names.
6026 * nlmcode.h: Removed some unused code.
6027 (nlm_object_p): Don't destroy tdata pointer. Call
6028 backend_object_p function if it exists.
6029 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
6030 set_public_section_func if it exists instead of checking
6031 NLM_HIBIT.
6032 (nlm_compute_section_file_positions): Account for
6033 optional_prefix_size.
6034 (nlm_write_object_contents): Account for optional_prefix_size.
6035 Removed useless variable write_reloc_func. Changed declaration
6036 and call of write_import_func. Call write_prefix_func if it
6037 exists. Removed unused variables len and temp. Call
6038 get_public_offset_func if it exists rather than setting NLM_HIBIT.
6039 * nlmswap.h: Declare functions.
6040
2f555d79
ILT
6041 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
6042 for clarity.
6043 (fprintf_vma, sprintf_vma): Use %lx, not %x.
6044 * bfd-in2.h: Rebuilt.
6045 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
6046 to unsigned long.
6047
6048 * config.bfd: Don't set target64 here, as the setting is ignored.
6049 * configure.in (ecoffalpha_little_vec): Set target64.
6050
6051 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
6052 in TDEFINES is wrong.
6053
6054 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
6055 Remove unused variable output_section.
6056
7cd39d69
ILT
6057Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6058
6059 * irix-core.c: New file for Irix 4 and Irix 5 core support.
6060 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
6061 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
6062 * targets.c: If IRIX_CORE defined, include irix_core_vec in
6063 target_vector.
6064 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
6065 (HDEPFILES): Define to be irix-core.o.
6066 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
6067 (HDEPFILES): Define to be irix-core.o.
6068 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
6069 sco-core.o, which no longer exists.
6070 (CFILES): Added all *-core.c files.
6071 Rebuilt dependencies.
6072
8d12f138
ILT
6073Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6074
6c35a16d
ILT
6075 * elfcode.h (map_program_segments): Restore check of file_size !=
6076 mem_size, but only if SHT_PROGBITS.
6077
8d12f138
ILT
6078 * ecofflink.c: New file to hold ECOFF debug information linking
6079 routines.
6080 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
6081 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
6082 ecofflink.c.
6083 (ecoff_get_extr, ecoff_set_index): New functions.
6084 (ecoff_slurp_symbolic_info): Don't save raw_size.
6085 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
6086 (ecoff_compute_section_file_positions): Don't set EXEC_P just
6087 because there is a start address.
6088 (ecoff_write_object_contents): Handle external symbols here. Use
6089 ecofflink.c functions to write out debugging information.
6090 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
6091 mips_elf_set_index): New functions.
6092 (mips_elf_seclet_link): Discard empty sections, the .options
6093 section and .gptab sections. Handle linking .mdebug section.
6094 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
6095 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
6096 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
6097 called by gas, so they are public).
6098 * bfd-in2.h: Rebuilt.
6099 * Makefile.in (BFD_LIBS): Added ecofflink.o.
6100 (CFILES): Added ecofflink.c.
6101 (ecofflink.o): New target. Rebuilt dependencies.
6102
abb324b2
JL
6103Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6104
6105 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
6106 a valid magic number if it's been defined.
6107
8f45f604
ILT
6108Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6109
6110 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
6111 no longer requires it.
6112 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
6113 ecoff_write_object_contents): Don't treat .scommon section
6114 specially.
6115
c236d8b3
FF
6116Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
6117
6118 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
6119 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
6120 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
6121 * bfd/ptrace-core.c: New file for dealing with core files with
6122 start with the ptrace_user structure found on BCS compliant systems.
6123 * bfd/targets.c (ptrace_core_vec): New vector.
6124
36456a67
JL
6125Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6126
6127 * Minimal support for reading SOM fixup streams. Allows
6128 objdump -r to do something reasonable.
6129 * som.c (som_get_reloc_upper_bound): Implement.
6130 (som_canonicalize_reloc): Implement.
6131 (som_set_reloc_info, som_slurp_reloc_table): New functions.
6132
8d12f138
ILT
6133Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6134
6135 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
6136 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
6137
a1bff336
ILT
6138Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6139
533af031
ILT
6140 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
6141 signed_value before sign extending it. Don't subtract out
6142 reloc_entry->address. This makes it compatible with what gas is
6143 generating.
6144
a1bff336
ILT
6145 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
6146 SHT_NOBITS sections.
6147 (map_program_segments): Don't leave the loop after the first
6148 SHT_NOBITS section.
6149 (assign_file_positions_except_relocs): Only force sh_offset and
6150 sh_addr to match modulo maxpagesize for a section which is not
6151 SHT_NOBITS. Changed the method used to force page alignment after
6152 a SHT_NOBITS section to only do it for the last such consecutive
6153 section, and to really force page alignment.
6154
96be1f52
KR
6155Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6156
4c01d9b5
KR
6157 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
6158 in the case of an unknown (or unhandled) storage class.
6159
96be1f52
KR
6160 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
6161 not be defined here, since it is a host attribute, not a target
6162 one.
6163 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
6164
6165 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
6166 defined.
6167
6168 * coff-sparc.c: Define some relocations, based on ELF relocations.
6169 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
6170 struct coff_reloc_map, sparc_reloc_map,
6171 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
6172 elf.c, renamed.
6173 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
6174 (rtype2howto): Index into coff_sparc_howto_table using
6175 dst->r_type.
6176
f8944f84
ILT
6177Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6178
6179 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
6180 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
6181 hosts/irix5.h created; just use std-host.h).
6182 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
6183 -lmalloc.
6184 * Makefile.in: Rebuilt dependencies.
6185
6186 * ecoffswap.h: Changed type of internal pointers for swap out
6187 functions to const *.
6188
6189 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
6190 correctly for assembler, but linker support not implemented.
6191 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
6192 (mips_elf_sym_is_global): New function; at least on Irix 5, all
6193 non section symbols are considered global.
6194 (elf_backend_sym_is_global): Define.
6195 (mips_elf_final_write_processing): New function. Set the MIPS
6196 architecture level correctly.
6197 (elf_backend_final_write_processing): Define.
6198 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
6199 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
6200 section to 1. Handle .options section.
6201 (mips_elf_acom_section, mips_elf_acom_symbol,
6202 mips_elf_acom_symbol_ptr): New static variables, used to build a
6203 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
6204 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
6205 putting them all in a global .acommon section.
6206
6207 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
6208 section has no ELF section data.
6209 (elf_make_sections): Set addralign of reloc section to 4.
6210 (elf_fake_sections): Likewise.
6211 (map_program_segments): Don't consider section 0.
6212 (assign_file_positions_except_relocs): Don't consider section 0.
6213 In the main loop, skip the symtab and strtab sections, since their
6214 positions are set elsewhere.
6215 (swap_out_syms): Set addralign of symtab section to 4. Set
6216 addralign of strtab sections to 1.
6217 (assign_file_positions_for_relocs): Don't consider section 0.
6218 (write_object_contents): Don't write out section 0.
6219
6220 * libelf.h (struct elf_backend_data): Added fields
6221 elf_backend_sym_is_global and elf_backend_final_write_processing.
6222 * elf32-target.h (elf32_bed): Added corresponding initializers.
6223 * elf64-target.h (elf64_bed): Likewise.
6224 * elfcode.h (sym_is_global): Take abfd argument. Call
6225 elf_backend_sym_is_global if it is not NULL.
6226 (elf_map_symbols): Pass abfd to sym_is_global.
6227 (write_object_contents): Call elf_backend_final_write_processing
6228 if it is defined.
6229
c9668c58
ILT
6230Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6231
6232 * libecoff.h: Include coff/ecoff.h.
6233 (struct ecoff_backend_data): Move external debugging information
6234 fields into a single field pointing to an ecoff_debug_swap
6235 structure.
6236 (ecoff_data_type): Move debugging information fields into a single
6237 field pointing to an ecoff_debug_info structure.
6238 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
6239
2f555d79
ILT
6240Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
6241
6242 * nlmswap.h: New file to swap fixed header. Included by NLM
6243 backends.
6244 * libnlm.h (struct reloc_and_sec): Define.
6245 (struct nlm_backend_data): Add fields fixed_header_size,
6246 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
6247 nlm_swap_fhdr_out.
6248 (nlm_fixed_header_size, nlm_read_import_func,
6249 nlm_write_import_func, nlm_swap_fixed_header_in_func,
6250 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
6251 accessor macros.
6252 * nlmcode.h: Use new functions.
6253 * nlm32-i386.c: Provide new functions.
6254 * nlm32-sparc.c: New file; SPARC NLM backend.
6255
55ff7aef
SS
6256Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
6257
6258 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
6259 garbage bits appearing in the upper end of symbolnums.
6260
6261 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
6262
343c1a96
SG
6263Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
6264
6265 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
6266 * m68klynx.c: Define core file macros.
6267 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
6268 non-architecture specific stuff into lynx.h.
6269
794057a7
JK
6270Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
6271
6272 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
6273 change PAGE_SIZE to 4096.
6274
6275Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
6276
6277 * Makefile.in (diststuff): New target.
6278
6279 * VERSION: Updated.
6280
09796011
JL
6281Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6282
3be54498
JL
6283 * som.c (som_object_setup): Do not create dummy ".text", ".data",
6284 and ".bss" sections.
6285 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
6286 is zero. Recognize BSS type sections and turn off SEC_LOAD and
6287 SEC_DATA (so binutils/size works). Set the correct value for
6288 a section's _raw_size.
6289 (som_slurp_symbol_table): Program entry points, and millicode are
6290 also functions. Mark them as such. Also mark L$* symbols as
6291 debugging symbols.
6292
09796011
JL
6293 * bfd-in2.h: Rebuilt.
6294
aff97790
JL
6295Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6296
91c0bcbb
JL
6297 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
6298 a pointer to constant data. Delete bogus #define which made the
6299 function useless.
6300
aff97790 6301 * som.c (som_prep_for_fixups): New function.
9d0dea6f 6302 (som_write_fixups): New function.
0b35f7ec 6303 (som_write_space_strings): New function.
6eb64408
JL
6304 (som_write_symbol_strings): New function.
6305 (som_begin_writing): New function.
aff97790 6306
40249bfb
JL
6307Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6308
980bac64
JL
6309 * som.c (som_write_object_contents): Do not abort. Flesh out.
6310 (som_set_section_contents): Do not abort. Flesh out.
6311
efc0df7c
JL
6312 * som.c (som_write_headers): New function.
6313 (som_prep_headers): New function.
713de7ec 6314 (som_build_and_write_symbol_table): New function.
7057b78f 6315
2212ff92
JL
6316 * som.c (som_sizeof_headers): Add missing prototype.
6317 (som_set_arch_mach): Do not abort.
6318
5532fc5a
JL
6319 * som.c (som_count_spaces): New function.
6320 (som_count_subspaces): New function.
6321 (compare_syms): New function.
6322 (som_compute_checksum): New function.
6323
32619c58
JL
6324 * som.c (hppa_som_gen_reloc_type): New function.
6325 (som_bfd_reloc_type_lookup): New function.
6326
54bbfd37
JL
6327 * som.c (try_prev_fixup): New function.
6328 (som_reloc_skip): New function.
6329 (som_reloc_addend): New function.
efc0df7c 6330 (som_reloc_call): New function.
54bbfd37 6331
d125665c
JL
6332 * som.c (som_initialize_reloc_queue): New function.
6333 (som_reloc_queue_insert): Likewise.
6334 (som_reloc_queue_fix): Likewise.
6335 (som_reloc_queue_find): Likewise.
6336
fcb0c846
JL
6337 * som.c (som_hppa_howto_table): SOM howto relocation table.
6338 (hppa_som_reloc): New function.
6339
4fdb66cd
JL
6340 * som.c (struct reloc_queue): New structure to keep track of
6341 the last four multibyte relocations emitted.
6342 (enum pa_symbol_type): Type to fully describe the symbol types
6343 associated with .import/.export assembler directives.
6344
70f1d738
JL
6345 * som.c: Include libhppa.h
6346
40249bfb
JL
6347 * som.c (bfd_som_set_section_attributes): New function.
6348 (bfd_som_set_subsection_attributes): Likewise.
6349 (bfd_som_set_symboL_type): Likewise.
6350 (bfd_som_attach_unwind_info): Likewise.
6351 * som.h: Declare new exported functions.
6352
6353 * som.h (struct som_symbol): Add new fields to hold additional
6354 information needed to build/write symbol tables and fixup streams.
6355 (struct som_section_data_struct): Add new fields to hold additional
6356 information needed to build/write space and subspace headers.
6357 (som_symbol_data): New accessor macro for SOM symbol information.
6358 (R_HPPA_*): Basic relocation types to be used by the assembler.
6359
115f7430
JK
6360Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
6361
6362 * trad-core.c (trad_unix_core_file_p): If new hook
6363 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
6364 corefile being too big.
6365 * hosts/i386sco.h: Define it.
6366
3e80841e
JL
6367Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6368
8a71bf96
JL
6369 * bfd.c (struct _bfd): Add hppabsd_core_data.
6370 * targets.c (target_vector): Add hppabsd_core_vec.
6371 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
6372 section is encountered during core section scanning.
6373 * hppabsd-core.c: New file.
6374 * config/hppabsd.mh: Enable HPPA BSD core files.
6375
3e80841e
JL
6376 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
6377 which is either commented out or ifdef'd out. Add, update and
6378 clean comments. Fix various indention and spacing problems. Handle
6379 problems related to using "ble" to jump to a stub rather than "bl"
6380 (%r31 is trashed by "ble", but not by "bl").
6381 (NEW_INSTRUCTION): Put inside curly braces.
6382 (CURRENT_STUB_OFFSET): Fix indention problems.
6383 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
6384 Add, update and clean comments. Handle "ble" %r31 lossage problems.
6385 (hppa_elf_build_long_branch_stub): Likewise.
6386 (hppa_look_for_stubs_in_section): Likewise.
6387 (hppa_elf_stub_check): Remove obsolete function.
6388
6389 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
6390 problems. Delete unused instructions.
6391
0f5bc783
SS
6392Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
6393
6394 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
6395
95469b02
ILT
6396Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6397
346f0414
ILT
6398 * elfcode.h (elf_object_p): Rather than looking through an array
6399 of architectures, get the ELF EM_xxx code from the backend
6400 information. Let the generic ELF target match any EM_xxx code not
6401 matched by another ELF target. Call elf_backend_object_p to let
6402 the backend do more checks and set global information.
6403 * libelf.h (struct elf_backend_data): Added elf_machine_code and
6404 elf_backend_object_p fields.
6405 (struct bfd_elf_arch_map): Removed.
6406 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
6407 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
6408 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
6409 field with elf_backend_object_p (if it is defined).
6410 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
6411 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
6412 elf64-gen.c (ELF_MACHINE_CODE): Defined.
6413 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
6414 routines.
6415 (mips_elf_object_p): Set the right machine number.
6416 (mips_elf_ecoff_debug_swap): Defined.
6417 (elf_backend_object_p): Defined to be mips_elf_object_p.
6418 (elf_backend_ecoff_debug_swap): Defined to be
6419 mips_elf_ecoff_debug_swap.
6420 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
6421
6422 * libbfd-in.h (target_vector, default_vector): Declare.
6423 * libbfd.h: Rebuilt.
6424 * format.c (target_vector, default_vector): Don't declare.
6425
6426 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
6427 for R_MIPS_26. Correct overflow detection requires matching the
6428 upper four bits of the destination against the PC. From Ted Lemon
6429 <mellon@pepper.ncd.com>.
6430
6431 * bout.c (b_out_reloc_type_lookup): Return type should point to
6432 const data.
6433 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
6434 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
6435 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
6436 * coff-i386.c (coff_i386_reloc): Made howto const.
6437 * oasys.c (oasys_write_data): Made how const.
6438
95469b02
ILT
6439 * libelf.h: Added some comments.
6440 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
6441 field. Removed unused write_relocs field.
6442 * elf32-target.h: Adjusted elf_backend_data initialization
6443 accordingly.
6444 * elf64-target.h: Corrected elf_backend_data initialization to
6445 fill in all fields and to set elf_64_p to 1.
6446
e2756048
ILT
6447Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6448
7b8106b4
ILT
6449 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
6450 to filepos in SHT_STRTAB case.
6451 (assign_file_position_for_section): Set BFD section filepos as
6452 well as ELF section sh_offset.
6453
e2756048
ILT
6454 * reloc.c: Use const instead of CONST.
6455 (bfd_perform_relocation): Make variable howto a const pointer.
6456 * bfd-in2.h, libbfd.h: Rebuilt.
6457
6458Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
6459
6460 * Makefile.in (realclean): Don't remove generated headers. Reverts
6461 change of 2 Jul 1993.
6462
007455de
DHW
6463Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
6464
6465 * configure.bfd: make unixware equivalent to sysv4.
6466
6467 * config/i386-nlm.mt: bring in elf config; make it the default.
6468
1d3e8847
JL
6469Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6470
6471 * libbfd.c (bfd_put_8): Add parens around reference to "val"
6472 argument.
6473
2ccb88c0
DM
6474Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6475
6476 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
6477 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
6478
0f396d2a
ILT
6479Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6480
6481 * coffcode.h (coff_write_object_contents): Zero out internal_a.
6482
c188b0be
DM
6483Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6484
6485 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
6486 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
6487 section.c, syms.c, targets.c:
6488 Doc cleanup (spelling, punctuation, grammar, formatting).
6489 * bfd-in2.h, libbfd.h: Rebuild.
c188b0be 6490
baf205c4
JG
6491Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
6492
6493 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
6494 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
6495
fa8e8648
JL
6496Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6497
6498 * From Pete Hoogenboom (hoogen@cs.utah.edu)
6499 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
6500 in last change. Always rebuild symbol extension section the first
6501 time though if output sections exist (fixes ld -r problems).
6502
d5d53b0a
JW
6503Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
6504
6505 * Makefile.in: Add .PHONY for check and installcheck rules.
6506
6507Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
6508
6509 * libbfd-in.h (artdata): Use long, not time_t for portability, at
6510 least to HPUX. File below is a derived file.
6511
31eb3ead
BC
6512Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
6513
6514 * libbfd.h (artdata): Use long, not time_t for portability, at
6515 least to HPUX.
6516
242f60e2
JK
6517Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
6518
6519 * config.bfd: Use bigmips for mips*-*-bsd*.
6520
55d5b62d
ILT
6521Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6522
f2e945df
ILT
6523 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
6524 Handle symbol number of zero.
6525
7386c3b7
ILT
6526 * reloc.c (enum bfd_reloc_code_real): Added
6527 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
6528 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
6529 * bfd-in2.h: Rebuilt.
6530 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
6531 BFD_RELOC_MIPS_LITERAL.
6532 * elf32-mips.c (mips_reloc_map): Handle new relocs.
6533 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
6534 checks slightly.
6535
55d5b62d
ILT
6536 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
6537 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
6538 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
6539 MY_bfd_seclet_link): Define.
6540 (MY_bfd_reloc_type_lookup): Rename from
6541 MY_reloc_howto_type_lookup.
6542 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
6543 (MY(vec)): Use JUMP_TABLE rather than listing functions.
6544 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
6545 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
6546 terms of MY, because that causes a recusive invocation of CAT when
6547 expanded within JUMP_TABLE, and ANSI compilers don't expand
6548 recursive macros.
6549 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
6550 MY_reloc_howto_type_lookup, and don't define in terms of MY.
6551 (MY_canonicalize_reloc): Don't define in terms of MY.
6552 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
6553 than listing functions.
6554
6198b7a1
JK
6555Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
6556
6557 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
6558
ceeca31c 6559See file ChangeLog.1
e6d739eb 6560
41126f15
JK
6561\f
6562Local Variables:
6563mode: indented-text
6564left-margin: 8
6ec3bb6a
ILT
6565fill-column: 74
6566version-control: never
6567End:
This page took 0.602122 seconds and 4 git commands to generate.