* coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
d17fc4c9
ILT
1Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2
f1d42c04
ILT
3 * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
4 field of the reloc rather than letting it be garbage.
5
aeef32f0
ILT
6 * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
7 __.SYMDEF; the former was used in old Linux archives. From
8 jrs@world.std.com (Rick Sladkey).
9
f7d2fa44
ILT
10 * i386linux.c (i386linux_write_object_contents): Define; like
11 MY(write_object_contents) in aout-target.h, but set MACHTYPE to
12 M_386. From jrs@world.std.com (Rick Sladkey).
13 (MY_write_object_contents): Define.
14
2cd086e3
ILT
15 * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
16 as N_DATA symbols.
17 (aout_link_add_symbols): Likewise.
18
d17fc4c9
ILT
19 * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
20 tables.
21 (struct stringtab_entry, struct stringtab_data): Remove.
22 (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
23 (struct strtab_hash_entry, struct strtab_hash): Define.
24 (strtab_hash_newfunc, strtab_hash_lookup): Define.
25 (stringtab_free, emit_stringtab): Define.
26 (stringtab_init, add_to_stringtab): Rewrite.
27 (NAME(aout,write_syms)): Use new stringtab code.
28 (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
29 (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
30
31 * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
32 request BFD to write object in the traditional format, whatever
33 that means for the particular backend.
34 * bfd-in2.h: Rebuilt.
35
36 * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
37 bfd_error_no_memory.
38
ac9ed096
ILT
39Tue Jun 14 13:00:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
40
f5419a59
ILT
41 * libaout.h (struct aoutdata): Add q_magic_format to subformat
42 enum.
43 * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
44 if not already defined. Copy subformat information.
45 (MY_text_includes_header): Define as 0 if not already defined.
46 (MY(backend_data)): Use MY_text_includes_header rather than 0.
47 (MY_final_link_callback): Rename from final_link_callback, and
48 define only if MY_final_link_callback is not already defined.
49 (MY_bfd_final_link): Rename use of final_link_callback to
50 MY_final_link_callback.
51 * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
52 ZMAGIC, but set the subformat to q_magic_format. Abort if the
53 magic number if not recognized.
54 (adjust_z_magic): Use QMAGIC if q_magic_format.
55 * i386linux.c (MY_text_includes_header): Define as 1.
56 (i386linux_bfd_final_link): New static function.
57 (MY_bfd_final_link): Define as i386linux_bfd_final_link.
58
59 * aoutx.h (translate_to_native_sym_flags): Check both section and
60 output_section against sections of abfd.
61
ac9ed096
ILT
62 * libecoff.h (struct ecoff_link_hash_entry): Change type of
63 written from boolean to char. Add new field small.
64 * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
65 rather than false. Initialize small to 0.
66 (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
67 small. If small is set, and hash table type is common, force the
68 symbol into a section named SCOMMON and change the ECOFF type from
69 scCommon to scSCommon.
70 (ecoff_link_write_external): Set written to 1 rather than true.
71 * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
72 overflow check to consider section VMA of input file.
73
9ae74960
ILT
74Mon Jun 13 14:20:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
75
76 * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
77 machine type of 68000.
78 * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
79 Set *unknown to true if machine type is really unknown, as opposed
80 to M_UNKNOWN for the 68000.
81 (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
82 accordingly.
83 * libaout.h (NAME(aout,machine_type)): Add new argument to
84 prototype.
85
8117e1ea
JL
86Sun Jun 12 20:21:03 1994 Jeff Law (law@snake.cs.utah.edu)
87
88 * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
89 or HIUX_AUX_ID.
90 (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
91 (som_write_armap): Use CPU_PA_RISC1_0 as the magic number. Note
92 som.c is careful to always define CPU_PA_RISC1_0.
93
4298e311
ILT
94Sat Jun 11 16:32:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
95
96 Add weak symbols as an extension to a.out.
97 * aoutx.h (sym_in_text_section): Don't define.
98 (sym_in_data_section, sym_in_bss_section): Likewise.
99 (sym_is_undefined, sym_is_global_defn): Likewise.
100 (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
101 (sym_is_absolute, sym_is_indirect): Likewise.
102 (translate_from_native_sym_flags): Rewrite for clarity. Rearrange
103 arguments and change caller. Handle weak symbols.
104 (translate_to_native_sym_flags): Likewise.
105 (aout_link_check_ar_symbols): Don't ignore weak symbols. Pull
106 object in from archive if a weak defintion is found for an
107 existing undefined symbol.
108 (aout_link_add_symbols): Put all cases in switch. Set flags of an
109 undefined symbol to 0. Handle weak symbols.
110 (aout_link_write_symbols): Handle weak symbols.
111 (aout_link_write_other_symbol): Likewise.
112 (aout_link_input_section_std): Likewise.
113 (aout_link_input_section_ext): Likewise.
114 * sunos.c (sunos_write_dynamic_symbol): Likewise.
115
22aabad5
ILT
116Fri Jun 10 13:25:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
117
4f019d04
ILT
118 * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
119 (NAME(aout,get_reloc_upper_bound)): Likewise.
120
22aabad5
ILT
121 * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
122 * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
123 the section of a common symbol is not NULL.
124
125Wed Jun 8 23:15:53 1994 Stu Grossman (grossman@cygnus.com)
126
127 * nlmcode.h (nlm_object_p): Set EXEC_P and start address for GDB.
128
1b88cd18
ILT
129Wed Jun 8 23:57:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
130
131 * aoutx.h (aout_get_external_symbols): Don't try to read the
132 strings if there are no symbols.
133 (aout_link_write_other_symbol): Use the output section when
134 working out the type.
135
d38eee51
ILT
136Tue Jun 7 13:25:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
137
b9ac0a53
ILT
138 * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
139 strtab sections at end of file. Avoids bug in some versions of
140 SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
141
d38eee51
ILT
142 * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
143 set SEC_DEBUGGING for STYP_INFO sections.
144 (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
145 defined, and D_PAGED is set, set the file position equal to the
146 section VMA modulo COFF_PAGE_SIZE.
147 * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
148 * coff-i386.c: Set D_PAGED in BFD target.
149 (COFF_PAGE_SIZE): Define.
150 * coff-m68k.c, coff-sparc.c: Likewise.
151
d8d67d66
ILT
152Mon Jun 6 10:57:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
153
e6667b2b
ILT
154 * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
155 into a BFD section just because SHF_ALLOC is set; require that it
156 not use the normal symbol table.
157 (elf_section_from_bfd_section): Corresponding change.
158
118e8d1c
ILT
159 Better indirect and warning symbol handling inspired by Stuart
160 Quick <stuck@cs.man.ac.uk>.
161 * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
162 (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
163 to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
164 REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
165 Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
166 from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
167 Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
168 WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
169 to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
170 (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
171 REFC. If a new indirect symbol has been referenced, push the
172 reference down to the symbol it points to. FIx handling of WARN.
173 * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
174 clobber e_type of next symbol.
175 (translate_to_native_sym_flags): Likewise.
176 (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
177 as bfd_link_hash_indirect.
178
35fee729
ILT
179 * libaout.h (struct aout_link_hash_entry): New field written.
180 * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
181 (aout_link_write_symbols): Use written, not root.written.
182 (aout_link_write_other_symbol): Likewise.
183 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
184 * libecoff.h (struct ecoff_link_hash_entry): New field written.
185 * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
186 (ecoff_link_write_external): use written, not root.written.
187 * genlink.h (struct generic_link_hash_entry): New field written.
188 * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
189 (generic_link_hash_newfunc): Initialize written.
190 (_bfd_generic_link_output_symbols): Use written, not root.written.
191 (_bfd_generic_link_write_global_symbol): Likewise.
192 (_bfd_generic_reloc_link_order): Likewise.
193
469984d1
ILT
194 * libecoff.h (ecoff_data_type): Add linker field.
195 * ecoff.c (ecoff_write_object_contents): Check new tdata linker
196 field, rather than outsymbols being non-NULL, to decide whether to
197 output the symbols and relocs.
198 (ecoff_bfd_final_link): Set new tdata linker field to true.
199
30f34d07
ILT
200 * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
201 data to a non-ECOFF file.
202
d8d67d66
ILT
203 * libbfd-in.h: Add warning that libbfd.h is a generated file.
204 * libbfd.h: Rebuilt.
205
a04e14b6
ILT
206Sun Jun 5 15:02:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
207
fa15568a
ILT
208 Changes to support ELF strip and objcopy on dynamically linked
209 files.
210 * elfcode.h (elf_fake_sections): Add prototype.
211 (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
212 section, and from an SHT_DYNSYM section, and from the dynamic
213 string table section.
214 (elf_object_p): Set D_PAGED if there is a program header.
215 (elf_make_sections): Remove.
216 (fix_up_strtabs): Remove.
217 (elf_fake_sections): Rewrite. Now sets sh_entsize.
218 (assign_section_numbers): Rewrite. Now sets sh_link and sh_info
219 for all sections.
220 (elf_compute_section_file_positions): Don't call obsolete
221 functions elf_make_sections or fix_up_strtabs.
222 (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
223 (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
224 objects.
225 (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
226 sections. If an SHT_REL or SHT_RELA section is allocated or uses
227 an unusual symbol table, permit a BFD section to map to it.
228 Permit most SHT_STRTAB sections to have a BFD section mapped to
229 them.
230 (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
231 fields of dynamic sections here; do it in assign_section_numbers.
232 * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
233 flags.
234
a04e14b6
ILT
235 * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
236 SEC_LOAD is set, rather than checking SEC_ALLOC.
237
238 * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
239
4ee3b9be
JL
240Fri Jun 3 10:58:02 1994 Jeff Law (law@snake.cs.utah.edu)
241
99fa5510
JL
242 * som.c (som_write_object_contents): Don't compute the file header's
243 checksum here.
244 (som_write_headers): Instead do it here.
245
4ee3b9be
JL
246 * libbfd.h (bfd_realloc): Change last arg to "size_t size".
247
e85e8bfe
ILT
248Thu Jun 2 17:39:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
249
2855b89f
ILT
250 * hosts/sun3.h: Include <stdlib.h>. Don't declare free, exit or
251 getenv.
252
e85e8bfe
ILT
253 Add linker support for SunOS shared libraries.
254 * sunos.c: Include bfdlink.h. Add many new functions and
255 definitions for SunOS shared library support.
256 * bfd-in.h (bfd_sunos_record_link_assignment): Declare.
257 (bfd_sunos_size_dynamic_sections): Declare.
258 * bfd-in2.h: Rebuilt.
259 * aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
260 (struct aout_link_hash_table): Likewise.
261 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
262 (aout_hash_table): Likewise.
263 (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
264 and make externally visible.
265 (NAME(aout,link_hash_table_init)): New function.
266 (NAME(aout,link_hash_table_create)): Call
267 NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
268 (aout_link_add_symbols): Don't fail if no symbols. If it exists,
269 call add_dynamic_symbols backend entry point for dynamic objects.
270 Use add_one_symbol backend entry point if it exists.
271 (NAME(aout,final_link)): Call finish_dynamic_link backend entry
272 point, if it exists.
273 (aout_link_input_bfd): For a dynamic object, call
274 link_dynamic_object backend entry point, if it exists.
275 (aout_link_write_other_symbol): Call write_dynamic_symbol backend
276 entry point, if it exists.
277 (aout_link_input_section): Don't read the relocs if they have
278 already been read.
279 (aout_link_input_section_std): When doing a final link, for a
280 reloc against an external symbol, call check_dynamic_reloc backend
281 entry point, if it exists.
282 (aout_link_input_section_ext): Likewise.
283 * libaout.h: Protect against multiple inclusion. Include
284 bfdlink.h.
285 (struct aout_link_hash_entry): Move in from aoutx.h.
286 (struct aout_link_hash_table): Likewise.
287 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
288 (aout_hash_table): Likewise.
289 (struct aout_backend_data): Add fields add_dynamic_symbols,
290 add_one_symbol, link_dynamic_object, write_dynamic_symbol,
291 check_dynamic_reloc, and finish_dynamic_link.
292 (struct aout_section_data_struct): Define new structure.
293 (aout_section_data): Define new accessor macro.
294 (NAME(aout,link_hash_newfunc)): Declare.
295 (NAME(aout,link_hash_table_init)): Declare.
296 * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
297 fields.
298 * aout-target.h (MY(backend_data)): Likewise.
299 * i386aout.c (MY(backend_data)): Likewise.
300 * i386mach3.c (MY(backend_data)): Likewise.
301 * mipsbsd.c (MY(backend_data)): Likewise.
302 * sparclynx.c (sparclynx_aout_backend): Likewise.
303
304 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
305 until we know it is non-NULL.
306 (aout_link_write_symbols): Don't skip a warning symbol even if it
307 has already been written out. If skipping an indirect symbol,
308 skip the next symbol as well.
309
220642fd
ILT
310Wed Jun 1 14:37:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
311
312 * hosts/sun3.h: Don't declare qsort, malloc or realloc.
313
c06e55d9
KR
314Thu May 26 13:56:03 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
315
316 * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
317 to char pointer to avoid compiler warnings.
318
319 * dep-in.sed: Remove spaces before colons.
320
321 Merged changes back in from FSF gas release 2.3:
322
323 * Makefile.in (stmp-bfd.h): Wrap `if' block around grep
324 invocation, to avoid a bug in BSD 4.4 make.
325
326 From Ralph Campbell:
327 * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
328 error.
329 (mips_fix_hi16_s): Ditto.
330
331 Fri May 13 21:21:00 1994 DJ Delorie (dj@ctron.com)
332
333 * makefile.dos: define a default target, or archives won't work
334 due to multiple matches.
335
336 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
337
338 * configure.bat: update for latest files
339 * makefile.dos: update for correct targets and sources
340 * coff-go32.c: [new] go32's COFF format (i386coff with underscores)
341 * targets.c: add go32coff target
342 * makefile.in: add coff-go32.c support
343
ada45a2a
JL
344Thu May 26 10:10:21 1994 Jeff Law (law@snake.cs.utah.edu)
345
346 * som.c (som_prep_headers): Do not set the system_id here, private
347 bfd data has not been copied yet.
348 (som_write_headers): Instead do it here.
349
5315c428
ILT
350Tue May 24 16:17:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
351
352 Make MIPS ELF use new ELF backend linker. No shared library
353 support yet.
354 * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
355 (bfd_mips_elf32_swap_gptab_out): New function.
356 (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
357 (mips_elf_final_write_processing): Set sh_info field for .gptab.*
358 sections.
359 (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
360 (mips_elf_read_ecoff_info): Read and free external symbols last,
361 not first, for clarity.
362 (struct mips_elf_link_hash_entry): Define new structure.
363 (struct mips_elf_link_hash_table): Define new structure.
364 (mips_elf_link_hash_lookup): Define new macro.
365 (mips_elf_link_hash_traverse): Define new macro.
366 (mips_elf_hash_table): Define new macro.
367 (mips_elf_link_hash_newfunc): New static function.
368 (mips_elf_link_hash_table_create): New static function.
369 (mips_elf_add_symbol_hook): New static function.
370 (struct extsym_info): Define new structure.
371 (mips_elf_get_extr, mips_elf_set_index): Remove.
372 (mips_elf_output_extsym): New static function.
373 (gptab_compare): New static function.
374 (mips_elf_final_link): Rewrite to use ELF backend linker, and to
375 merge gptab information in input files.
376 (mips_elf_relocate_hi16): New static function.
377 (mips_elf_relocate_section): New static function.
378 (bfd_elf32_bfd_link_hash_table_create): Define as macro before
379 including elf32-target.h.
380 (elf_backend_relocate_section): Likewise.
381 (elf_backend_add_symbol_hook): Likewise.
382 * elf.c (_bfd_elf_link_hash_newfunc): Rename from
383 elf_link_hash_newfunc and make globally visible. Change caller.
384 (_bfd_elf_link_hash_table_init): New function, broken out of
385 _bfd_elf_link_hash_table_create.
386 (_bfd_elf_link_hash_table_create): Use
387 _bfd_elf_link_hash_table_init.
388 * libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
389 (elf_bad_symtab): Define new accessor macro.
390 (_bfd_elf_link_hash_newfunc): Declare.
391 (_bew_elf_link_hash_table_init): Declare.
392 * elfcode.h (elf_object_p): Call backend object_p hook after
393 swapping in all the section headers.
394 (map_program_segments): Correct typo: Internal for External.
395 (elf_link_add_object_symbols): If elf_bad_symtab is set, read all
396 the symbols. Skip STB_LOCAL symbols rather than giving an error.
397 (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
398 all symbols, not just locals.
399 (elf_link_output_extsym): Only skip a symbol not mentioned by a
400 regular file if it is mentioned by a dynamic object.
401 (elf_link_input_bfd): If elf_bad_symtab is set, read all the
402 symbols.
403
88bbe402
JL
404Fri May 20 13:38:23 1994 Jeff Law (law@snake.cs.utah.edu)
405
406 * som.c (som_set_reloc_info): Do not set any relocation info
407 for SOM fixups which are never passed to BFD.
408
497c5434
ILT
409Fri May 20 11:57:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
410
c8588f2f
ILT
411 * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
412 checking.
413
95b77361
ILT
414 * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
415 the dynamic linking information for the benefit of the debugger.
416 From Peter Schauer.
417 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
418
497c5434
ILT
419 * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
420 code repeated three times in bfd_section_from_shdr in elfcode.h.
421 * libelf.h (_bfd_elf_make_section_from_shdr): Declare.
422 * elfcode.h (bfd_section_from_shdr): Use new function
423 _bfd_elf_make_section_from_shdr to create BFD sections. If a
424 reloc section does not use the main symbol table, or it is part of
425 the process image, treat it as a normal section, not relocs.
426 * elf32-mips.c (mips_elf_section_from_shdr): Use new function
427 _bfd_elf_make_section_from_shdr.
428
013dec1a
ILT
429Thu May 19 11:37:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
430
7a0c782d
ILT
431 * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
432 15 to 14 to match SVR4 ar.
433
013dec1a
ILT
434 Add support for ELF shared libraries. Loosely based on work by
435 Eric Youngdale <ericy@cais.com>.
436 * libelf.h (struct elf_backend_data): Add new fields for dynamic
437 linking: elf_backend_create_dynamic_sections,
438 elf_backend_adjust_dynamic_symbol,
439 elf_backend_size_dynamic_sections,
440 elf_backend_finish_dynamic_symbol,
441 elf_backend_finish_dynamic_sections.
442 (struct elf_link_hash_entry): Change type of align field to
443 bfd_size_type. Add fields dynindx, dynstr_index, weakdef,
444 elf_link_hash_flags.
445 (struct elf_link_hash_table): Add fields dynobj, dynsymcount,
446 dynstr, bucketcount.
447 (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
448 (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
449 (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
450 (bfd_elf32_add_dynamic_entry): Declare.
451 (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
452 (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
453 (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
454 (bfd_elf64_add_dynamic_entry): Declare.
455 * elfcode.h (Elf_External_Dyn): Define.
456 (elf_swap_reloc_in): Define as macro using NAME. Make externally
457 visible.
458 (elf_swap_reloc_out): Likewise.
459 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
460 (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
461 and as new externally visible function.
462 (elf_fake_sections): Set section type of dynamic sections based on
463 section names.
464 (elf_write_phdrs): Remove.
465 (assign_file_position_for_section): Add new align argument.
466 Change all callers.
467 (get_program_header_size): New static function.
468 (struct seg_info): Remove.
469 (map_program_segments): Completely rewrite.
470 (assign_file_positions_except_relocs): Completely rewrite.
471 (assign_file_positions_for_relocs): Don't set a file position for
472 sections which already have one. Don't bother to align the file
473 position here.
474 (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
475 section types.
476 (elf_section_from_bfd_section): Likewise.
477 (elf_slurp_symbol_table): If section_from_elf_index fails, just
478 use bfd_abs_section rather than returning an error.
479 (elf_sizeof_headers): Make useful.
480 (elf_link_record_dynamic_symbol): New static function.
481 (elf_link_add_object_symbols): Handle dynamic objects.
482 (elf_link_create_dynamic_sections): New static function.
483 (elf_add_dynamic_entry): Define as macro using NAME and as new
484 externally visible function.
485 (NAME(bfd_elf,record_link_assignment)): New function.
486 (elf_buckets): New static variable.
487 (NAME(bfd_elf,size_dynamic_sections)): New function.
488 (struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
489 (elf_bfd_final_link): Handle dynamic linking. Create a section
490 symbol for all ELF sections, not all BFD sections. Store section
491 symbol index in target_index field, not index field. Traverse
492 over global symbols even if stripping.
493 (elf_link_output_extsym): Output dynamic symbols. Mark symbols
494 defined by dynamic objects as undefined.
495 (elf_link_input_bfd): Ignore dynamic objects. Use target_index
496 field for section relocs, and make sure it is set.
497 (elf_reloc_link_order): Use target_index field for section relocs,
498 and make sure it is set.
499 * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
500 weakdef and elf_link_hash_flags fields.
501 (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
502 dynstr and bucketcount fields.
503 * elf32-target.h: Initialize new dynamic linking fields.
504 * elf64-target.h: Likewise.
505 * elf32-i386.c: New functions for dynamic linking support.
506 * elf32-sparc.c: Likewise.
507 * bfd-in.h (bfd_elf32_record_link_assignment): Declare.
508 (bfd_elf64_record_link_assignment): Declare.
509 (bfd_elf32_size_dynamic_sections): Declare.
510 (bfd_elf64_size_dynamic_sections): Declare.
511 * bfd-in2.h: Rebuilt.
512
82492ca1
ILT
513Wed May 18 08:29:04 1994 Ian Lance Taylor (ian@cygnus.com)
514
515 * som.c: Don't include <sys/dir.h> or <sys/user.h>.
516 (som_reloc_queue_find): Call memcmp instead of bcmp.
517 (som_bfd_reloc_type_lookup): Change first argument to bfd *.
518 (compare_syms): Change types of arguments to const void *.
519 (bfd_section_from_som_symbol): Removed unused local found.
520 (som_write_armap): Add elength, map, orl_count and int arguments.
521 (som_write_armap): Use %ld and cast to long for getuid result.
522
673aceca
JL
523Wed May 18 09:09:32 1994 Jeff Law (law@snake.cs.utah.edu)
524
525 * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
526 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
527
528 * som.h (R_HPPA_ABS_CALL): Define.
529 * som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
530
0f62bdc0
KR
531Tue May 17 19:33:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
532
533 * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
534 underscore, for compatibility with Intel tool chain (gnu960v2).
535
c3cb04b4
JL
536Mon May 16 10:09:22 1994 Jeff Law (law@snake.cs.utah.edu)
537
459ae909
JL
538 * bfd-in2.h: Rebuilt.
539
540 * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
541 likewise for other PA specific sections.
542 (hppa_elf_relocate_unwind_table): Delete unused
543 function.
544 (elf_hppa_howto_table): Completely new table based on 94-02-02
545 draft PA ELF spec. Change relocation tags appropriately
546 throughout elf32-hppa.c
547 (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
548 spec.
549 (hppa_elf_reloc): Likewise.
550 (hppa_look_for_stubs_in_section): Likewise
551 (ELF_MACHINE_CODE): Change to EM_PARISC.
552 * elf32-hppa.h: Include "elf/hppa.h". Change relocation tags
553 appropriately throughout elf32-hppa.h.
554 (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
555 spec.
556 (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
557 * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
558 * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
559 * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
560
c3cb04b4
JL
561 * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
562 the final value twice for LR and RR field selectors.
563
cb9461ff
JK
564Sat May 14 09:09:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
565
566 * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This
567 avoids __eprintf troubles.
568
8db528c8
ILT
569Fri May 13 10:51:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
570
0d898d03
ILT
571 * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
572
8db528c8
ILT
573 * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
574 ecoff_little_vec since Irix 5 supports ECOFF executables.
575
666f5925
ILT
576Wed May 11 00:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
577
4fa4476b
ILT
578 * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
579 correctly.
580
666f5925
ILT
581 * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
582 make to invoke the shell.
583
c16313f0
ILT
584Tue May 10 14:23:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
585
586 * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
587 SEC_SHARED_LIBRARY for clarity. Changed all uses.
588 * bfd-in2.h: Rebuilt.
589 * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
590 set, set STYP_NOLOAD.
591 * coffgen.c (coff_section_from_bfd_index): Don't get an assertion
592 failure because of a bad shared library.
593
eeb8c187
BC
594Mon May 9 18:53:40 1994 Bill Cox (bill@rtl.cygnus.com)
595
596 * linker.c: Add missing comment terminator.
597
6ec3bb6a
ILT
598Mon May 9 11:53:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
599
8e5090ce
ILT
600 * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
601 are not NULL, assume the caller has already looked up the symbol
602 in the hash table and has stored the entry in *hashp.
603 (generic_link_add_symbol_list): Set h to NULL before calling
604 _bfd_generic_link_add_one_symbol.
605 * ecoff.c (ecoff_link_add_externals): Likewise.
606
607 * elfcode.h (assign_file_positions_except_relocs): Don't require
608 page shared between .data and .bss segments to contain zeroes.
609
6ec3bb6a
ILT
610 * elfcode.h: Include bfdlink.h. Added several new functions to do
611 linking.
612 (ELF_R_TYPE): Define.
613 (bfd_add_to_strtab): Return unsigned long. Change check for
614 realloc failure.
615 (elf_fake_sections): Check return value of bfd_add_to_strtab.
616 (elf_compute_section_file_positions): Add link_info argument.
617 Call elf_backend_begin_write_processing hook and prep_headers
618 here. Only call swap_out_syms if link_info is NULL. Set up
619 .shstrtab section here. Pass dosyms argument to
620 assign_file_positions_except_relocs. Set output_has_begun flag.
621 (assign_file_positions_for_symtab_and_strtabs): Add dosyms
622 argument, and use it to control setting .symtab and .strtab file
623 positions.
624 (assign_file_positions_except_relocs): Add dosyms argument, and
625 pass it on.
626 (prep_headers): Check return value of bfd_add_to_strtab.
627 (swap_out_syms): Likewise. Also, don't set up .shstrtab here.
628 (NAME(bfd_elf,write_object_contents)): Some calls moved into
629 elf_compute_section_file_positions.
630 (elf_set_section_contents): Likewise.
631 (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
632 * libelf.h: Include bfdlink.h.
633 (struct elf_backend_data): Add fields collect,
634 elf_add_symbol_hook, elf_backend_relocate_section.
635 (struct bfd_elf_section_data): Add field rel_hashes.
636 (struct elf_obj_tdata): Remove fields internal_syms and symbols.
637 Add field sym_hashes.
638 (obj_symbols, obj_internal_syms): Remove definitions.
639 (elf_sym_hashes): Define.
640 (struct elf_link_hash_entry): Define.
641 (struct elf_link_hash_table): Define.
642 (elf_link_hash_lookup): Define.
643 (elf_link_hash_traverse): Define.
644 (elf_hash_table): Define.
645 (_bfd_elf_link_hash_table_create): Declare.
646 (bfd_elf32_bfd_link_add_symbols): Declare.
647 (bfd_elf32_bfd_final_link): Declare.
648 (bfd_elf64_bfd_link_add_symbols): Declare.
649 (bfd_elf64_bfd_final_link): Declare.
650 * elf.c: Include bfdlink.h.
651 (elf_link_hash_newfunc): New function.
652 (_bfd_elf_link_hash_table_create): New function.
653 * elf32-target.h (elf_backend_relocate_section): If not defined,
654 define as 0 and use generic linker. Otherwise, use ELF backend
655 linker.
656 (elf_backend_collect): If not defined, define as false.
657 (elf_backend_add_symbol_hook): If not defined, define as 0.
658 (elf32_bed): Initialize new fields.
659 * elf64-target.h: Same changes as elf32-target.h.
660 * elf32-i386.c: Include bfdlink.h.
661 (elf_i386_relocate_section): New function.
662 (elf_backend_relocate_section): Define.
663 * elf32-sparc.c: Include bfdlink.h.
664 (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
665 to Elf_Internal_Rela (they're the same type anyhow).
666 (elf_sparc_relocate_section): New function.
667 (elf_backend_relocate_section): Define.
668 * elf32-mips.c (elf_backend_collect): Define.
669
670 * Makefile.in (stmp-bfd.h): Avoid useless make error message in a
671 different way; touch takes a numeric argument on some systems.
672
673Fri May 6 13:34:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
674
675 * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
676 handling for latest suggested format.
677 (nlm_swap_auxiliary_headers_out): Likewise.
678 (nlm_compute_section_file_positions): Likewise.
679
680Fri May 6 11:11:50 1994 D. V. Henkel-Wallace (gumby@rtl.cygnus.com)
681
682 * config.bfd: handle erricsson config (for OSE).
683
684Thu May 5 15:40:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
685
686 Patches from Ralph Campbell:
687 * mipsbsd.c (mips_fix_jmp_addr): New function.
688 (mips_fix_hi16_s): Use bfd_is_com_section.
689 (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
690
d66da742
SC
691Fri May 6 11:48:55 1994 Steve Chamberlain (sac@cygnus.com)
692
693 * config/go32.mh: XX support.
694
695 From bill
696 * Makefile.in: Build sysdep.h without causing worrying but
697 harmless error message.
698
77d11284
ILT
699Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com)
700
701 Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
702 * aout0.c: New file.
703 * targets.c (aout0_big_vec): Declare.
704 (bfd_target_vector): Add aout0_big_vec.
705 * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
706 * config/m68k-aout.mt (SELECT_VECS): Removed.
707 * config/m68k-0aout.mt: New file.
708 * configure.in (aout0_big_vec): New target vector: use aout0.o,
709 aout32.o and stab-syms.o.
710 * Makefile.in: Rebuilt dependencies.
711 (BFD32_BACKENDS): Add aout0.o.
712 (CFILES): Add aout0.c.
713
714 * libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
715 * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
716 MY(backend_data): Initialize exec_hdr_flags field.
717 * aoutf1.h (sunos_32_set_arch_mach): Make static.
718 (aout32_sunos4_write_object_contents): Set flags from backend
719 info.
720 (MY_exec_hdr_flags): If not defined, define as 1.
721 (sunos4_aout_backend): Initialize exec_hdr_flags field.
722 * aout-encap.c (encap_write_object_contents): Set flags from
723 backend info.
724 (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
725 * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
726 (MY(write_object_contents)): Set flags from backend info.
727 * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
728 * i386mach3.c (MY(backend_data)): Likewise.
729 * mipsbsd.c (MY(backend_data)): Likewise.
730 * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
731 flags from backend info.
732 (sparclynx_aout_backend): Initialize exec_hdr_flags field.
733
127f8e91
KR
734Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
735
736 * config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
737 (m68*-apollo-*): Treat all Apollo configs the same, don't handle
738 BSD specially.
739
92400edb
ILT
740Tue May 3 19:43:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
741
742 * cache.c: Rewrote to work correctly.
743 * libbfd.h: Rebuilt.
744 * opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
745 (bfd_fdopenr): Check return value of bfd_cache_init.
746
e3361fc3
ILT
747Fri Apr 29 15:08:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
748
749 * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
750 enumerating them, since the reloc type can not serve as an index
751 into the m68k COFF howto_table.
752
7c6ba201
SC
753Fri Apr 29 09:42:39 1994 Steve Chamberlain (sac@cygnus.com)
754
dbf13547 755 * config.bfd (*-go32): Changed to coff.
7c6ba201 756 * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
dbf13547
SC
757 * srec.c (srec_write_symbols): Write out the correct number of
758 symbols and don't stick in extra nulls.
7c6ba201 759
380c60b1
SS
760Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com)
761
762 * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
763 * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
764 (COFF_SPARC): Define.
765 * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
766 power of data and bss sections to 3.
767 * hosts/lynx.h (__LYNXOS): Define.
768
6c101bcf
JL
769Tue Apr 26 15:04:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
770
771 * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
772 against section symbols to avoid losing during ld -r.
773
774Tue Apr 26 12:16:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
775
776 * elfcode.h (shstrtab_length_fixed): Remove useless static
777 variable.
778 (struct elf_sect_data): Remove unused structure.
779 (elf_object_p): Free memory if error occurs. Check return value
780 of bfd_default_set_arch_mach. If elf_get_str_section fails,
781 preserve error code rather than setting wrong_format.
782 (null_shdr): Remove static variable.
783 (assign_section_numbers): Remove shstrtab_length_fixed assignment.
784 Allocate first section header on BFD obstack rather than using
785 null_shdr.
786 (bfd_prpsinfo): Remove unused local variable newsect.
787
2e03ce18
ILT
788Mon Apr 25 15:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
789
ba436e33
ILT
790 * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
791
2e03ce18
ILT
792 * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
793 to create sections. Check return value of recursive calls.
794 (bfd_section_from_phdr): Check return value of bfd_make_section.
795 (elf_symbol_from_bfd_symbol): Likewise.
796 (elf_object_p): Check return value of bfd_section_from_shdr.
797 (section_from_elf_index): Likewise.
798 (elf_slurp_symbol_table): Check return value of
799 section_from_elf_index.
800 (bfd_prstatus): Return boolean value. Check return value of
801 bfd_make_section.
802 (bfd_fpregset): Likewise.
803 (bfd_prpsinfo): Return boolean value.
804 (elf_corefile_note): Check return values of bfd_prstatus,
805 bfd_fpregset, and bfd_prpsinfo.
806 (elf_core_file_p): Check return value of elf_corefile_note.
807
79167def
ILT
808Fri Apr 22 11:08:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
809
cc71e155
ILT
810 Get rid of the ECOFF .reginfo section hack.
811 * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
812 (ecoff_new_section_hook): Don't handle the .reginfo section.
813 (ecoff_sizeof_headers): Likewise.
814 (ecoff_get_section_contents): Likewise.
815 (ecoff_compute_section_file_positions): Likewise.
816 (ecoff_compute_reloc_file_positions): Likewise.
817 (ecoff_set_section_contents): Likewise.
818 (ecoff_write_object_contents): Likewise.
819 (ecoff_bfd_final_link): Likewise.
820 (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
821 register masks.
822 (bfd_ecoff_get_gp_value): New function.
823 (bfd_ecoff_set_gp_value): New function.
824 (bfd_ecoff_set_regmasks): New function.
825 * bfd-in.h (bfd_ecoff_get_gp_value): Declare.
826 (bfd_ecoff_set_gp_value): Declare.
827 (bfd_ecoff_set_regmasks): Declare.
828 * bfd-in2.h: Rebuilt.
829
1bb42b1f
ILT
830 Fix ECOFF objcopy to actually copy debugging information.
831 * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
832 (ecoff_get_extr): Assume that any ECOFF symbol with local clear is
833 an external symbol, rather than checking the symbol flags. Only
834 check the flags for non-ECOFF symbols.
835 * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
836 output_section field of the symbol section is NULL.
837 * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
838 function rather than defining as macro.
839
d290d8da
ILT
840 * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
841 appropriate.
842
843 * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
844
80a903c9
ILT
845 * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
846 bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as
847 bfd_arch_unknown.
848 * coffcode.h (coff_set_arch_mach): Check return value of
849 bfd_default_set_arch_mach.
850 * elfcode.h (elf_set_arch_mach): Don't check a list of ELF
851 architectures, just see if the desired architecture matches what
852 the ELF backend permits.
853
854 * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
855 SH_ARCH_MAGIC to match change in coff/sh.h.
856 (coff_set_flags): Likewise.
857
79167def
ILT
858 Follow convention in which each NLM header has an 8 byte stamp
859 followed by a four byte length.
860 * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
861 to nlm_cygnus_ext_header, and change type to
862 Nlm_Internal_Cygnus_Ext_Header.
863 (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
864 * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
865 of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require
866 length word to be 8.
867 (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
868 cygnus_ext. Set length word to 8.
869 (nlm_compute_section_file_positions): Rename from cygnus_section
870 to cygnus_ext.
871
7f772644
SG
872Thu Apr 21 22:54:22 1994 Stu Grossman (grossman at cygnus.com)
873
874 * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table
875 (from CyGnUsSeCs) in more permanent memory to keep section names
876 from getting trashed.
877
cb71adf1
PS
878Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
879
880 * libelf.h (elf_obj_tdata): Add members for dynamic symbol table
881 handling.
882 * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table.
883 * elfcode.h (elf_slurp_symbol_table): Take additional parameter
884 to select static or dynamic symbol table and return number of
885 symbols slurped or -1 on error.
886 * elfcode.h (elf_get_symtab): Set bfd symcount from
887 elf_slurp_symbol_table result.
888 * elfcode.h (elf_get_dynamic_symtab_upper_bound,
889 elf_canonicalize_dynamic_symtab): New functions to handle dynamic
890 symbol table.
891 * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
892 Change to handle dynamic symbol table, provide default definitions
893 for dynamic relocs.
894 * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
895 NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
896 aout_link_reloc_link_order): Handle r_jmptable and r_relative
897 relocations.
898
6c534df0
ILT
899Thu Apr 21 11:58:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
900
1eff2af3
ILT
901 Clean up uses of _bfd_dummy_target (from Peter Schauer).
902 * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
903 * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
904 NULL.
905 * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
906 _bfd_check_format.
907 (symbolsrec_vec): Likewise.
908 * tekhex.c (tekhex_vec): Likewise.
909
6c534df0
ILT
910 * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
911 field.
912 (nlm_cygnus_section_header): New accessor macro.
913 * nlmcode.h (nlm_object_p): Free new tdata structure if failure.
914 Add fixed sections before swapping in auxiliary headers. After
915 adding sections, treat errors as real, not as wrong format.
916 (nlm_swap_auxiliary_headers_in): Swap in the sections header; add
917 sections to the BFD for each section it describes.
918 (nlm_swap_auxiliary_headers_out): Swap out the sections header.
919 (nlm_compute_section_file_positions): Account for the size of the
920 sections header.
921
71363c41
KR
922Wed Apr 20 16:45:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
923
4a5bfdbc
KR
924 * coff-sparc.c (sparccoff_vec): Change minimum alignment power to
925 2, so that stab sections can be multiples of 4 bytes only.
926
71363c41
KR
927 * hosts/i386aix.h: Changes to avoid prototypes conflicts with the
928 ones defined in stdlib.h. (From Minh Tran-Le.)
929
476d01f0 930Wed Apr 20 14:15:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
476d01f0
ILT
931
932 * nlm32-ppc.c: Complete rewrite for new version of PowerPC
933 NetWare. Old code still present, but ifdeffed out.
476d01f0
ILT
934
935 * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
936 particular format for the customer header. Allocate a block of
937 memory and read it into that.
938 (nlm_swap_auxiliary_headers_out): Write out the block of memory.
939 (nlm_compute_section_file_positions): Include length of customer
940 header when computing its size.
941
69478700
JL
942Mon Apr 18 14:27:17 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
943
944 * som.c (som_prep_headers): Get the space's number from the
945 backend private section data rather than target_index.
946 (bfd_som_set_section_attributes): Store the space's number
947 in the backend private section data rather than target_index.
948
949 * som.h (som_copyable_section_data_struct): Add space_number.
950
2ec2e6a9
ILT
951Fri Apr 15 12:22:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
952
09ed3666
ILT
953 * coff-a29k.c (reloc_processing): Always set the address of a
954 R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
955 gas does this anyhow, but some other assemblers seem to leave
956 garbage in the R_IHCONST address field.
957
97ea252e
ILT
958 * bfd/archive.c: Consistently use ARFMAG; from
959 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
960 (_bfd_write_archive_contents): Use ARFMAG rather than '`' and
961 '\012'.
962 (bsd_write_armap): Likewise.
963 (coff_write_armap): Likewise.
964
ef79dba3
ILT
965 * coff-mips.c (mips_relocate_section): When relaxing, adjust local
966 relocs against the .text section as required.
967 * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
968 PDR addresses as required.
969
2ec2e6a9
ILT
970 * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdr
971 index through rfd map if it exists. Check for a couple of cases
972 which gdb handles specially. Change all callers.
973 (ecoff_type_to_string): Take fdr argument rather than aux_ptr and
974 bigendian argument. Change all callers.
975 (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
976
4f996613
ILT
977Thu Apr 14 13:05:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
978
979 * coff-mips.c (mips_howto_table): Add dummy entries to account for
980 numbering changes in include/coff/mips.h. Add entries for
981 MIPS_R_RELHI and MIPS_R_RELLO.
982 (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
983 when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI
984 relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
985 bits.
986 (mips_ecoff_swap_reloc_out): Likewise.
987 (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
988 MIPS_R_RELHI relocs like MIPS_R_SWITCH.
989 (mips_adjust_reloc_out): Likewise.
990 (mips_relhi_addr, mips_relhi_addend): New static variables.
991 (mips_relhi_reloc, mips_rello_reloc): New functions.
992 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
993 MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
994 (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
995 argument. Changed all callers.
996 (mips_relocate_section): Rename got_reflo to got_lo and
997 reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI
998 relocs.
999 (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
1000 expanding a PC relative call.
1001
1002 * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
1003 and BFD_RELOC_PCREL_LO16.
1004 * bfd-in2.h: Rebuilt.
1005
1a000744
SS
1006Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com)
1007
1008 * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
1009
41194a4a
JL
1010Tue Apr 12 13:36:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1011
1012 * som.c (som_write_fixups): Always emit at least
1013 one relocation for any non-bss section.
1014
bf08d1e2
ILT
1015Mon Apr 11 14:41:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1016
1017 * elfcode.h (assign_file_positions_except_relocs): Don't require
1018 the file alignment to correspond to the page size when linking
1019 with -N.
1020
9a5334e5
JL
1021Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1022
1023 * elfcode.h (write_relocs): For rela relocations, adjust the
1024 addend for relocations involving section symbols to account
1025 for the lossage of 1:1 mapping from input section symbols to
1026 output section symbols.
1027
e48f985c
ILT
1028Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1029
ec6b18c4
ILT
1030 * aoutx.h (NAME(aout,make_sections)): New function.
1031 (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
1032 rather than making sections inline.
1033 (NAME(aout,mkobject)): Don't make any sections.
1034 (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
1035 (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
1036 obj_datasec (abfd) if they are NULL.
1037 * libaout.h (NAME(aout,make_sections)): Declare.
1038 * bout.c (b_out_mkobject): Don't make any sections.
1039 (b_out_write_object_contents): Call aout_32_make_sections.
1040 (b_out_set_section_contents): Likewise.
1041 * i386os9k.c (os9k_mkobject): Don't make any sections.
1042 (os9k_write_object_contents): Call aout_32_make_sections.
1043 (os9k_set_section_contents): Likewise.
1044
e48f985c
ILT
1045 * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
1046 index.
1047
06863047
PS
1048Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1049
1050 * config.bfd, configure.host: Add mips-*-sysv4* support.
1051
dabf906e
ILT
1052Thu Apr 7 14:23:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1053
1054 * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
1055 (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
1056 r_offset and set r_symndx to RELOC_SECTION_TEXT.
1057 (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
1058 value from the r_offset field.
1059 (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
1060 For MIPS_R_SWITCH, copy the r_offset field into the addend field.
1061 (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
1062 into the r_offset field.
1063 (mips_switch_reloc): New function.
1064 (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
1065 MIPS_R_SWITCH.
1066 (mips_relocate_section): Handle MIPS_R_SWITCH.
1067 (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
1068
99a6c761
JL
1069Thu Apr 7 11:10:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1070
1071 * elfcode.h (elf_set_section_contents): Support calling the backend
1072 function elf_backend_begin_write_processing when just beginning to
1073 write an object file.
1074
1075 * libelf.h (elf_backend_begin_write_processing): Declare.
1076
1077 * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
1078 a default definition.
1079 (elf{32,64}_bed): Add elf_backend_begin_write_processing.
1080
1081 * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
1082 (elf_hppa_tc_make_sections): Likewise.
1083
1084 * elf32-hppa.c (symext_chain_built): Delete.
1085 (symext_chain_size): Renamed from symextn_contents_real_size.
1086 (elf32_hppa_backend_{begin,final}_write_processing): New functions.
1087 (add_entry_to_symext_chain): New function.
1088 (hppa_elf_set_section_contents): Ignore writes to the symbol extension
1089 section until it's been rebuilt internally.
1090 (hppa_elf_get_section_contents): Symbol extension section is no
1091 longer special.
1092 (elf_backend_{begin,final}_write_processing): Define.
1093 (elf_hppa_tc_make_sections): Simplify now that much code has
1094 migrated into elf32_hppa_backend_{being,final}_write_processing.
1095
6812b607
ILT
1096Wed Apr 6 17:24:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1097
dfc1c006
ILT
1098 Add new target vectors to read the dynamic symbols and dynamic
1099 relocs. Change a.out to use these rather than reading the dynamic
1100 symbols and relocs along with the normal symbols and relocs.
1101 * targets.c (bfd_target): Add fields
1102 _bfd_get_dynamic_symtab_upper_bound,
1103 _bfd_canonicalize_dynamic_symtab,
1104 _bfd_get_dynamic_reloc_upper_bound,
1105 _bfd_canonicalize_dynamic_reloc.
1106 (BFD_JUMP_TABLE_DYNAMIC): Define.
1107 * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
1108 Define.
1109 (_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
1110 (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
1111 (_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
1112 * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
1113 (bfd_canonicalize_dynamic_symtab): Define.
1114 (bfd_get_dynamic_reloc_upper_bound): Define.
1115 (bfd_canonicalize_dynamic_reloc): Define.
1116 * sunos.c (MY_read_dynamic_symbols): Don't define.
1117 (MY_read_dynamic_relocs): Don't define.
1118 (MY_get_dynamic_symtab_upper_bound): Define.
1119 (MY_canonicalize_dynamic_symtab): Define.
1120 (MY_get_dynamic_reloc_upper_bound): Define.
1121 (MY_canonicalize_dynamic_reloc): Define.
1122 (struct sunos_dynamic_info): Change type of dynsym_count and
1123 dynrel_count to long. Add fields canonical_dynsym and
1124 canonical_dynrel.
1125 (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
1126 Clear info->canonical_dynsym and info->canonical_dynrel.
1127 (MY(read_dynamic_symbols)): Removed.
1128 (MY(read_dynamic_relocs)): Removed.
1129 (sunos_get_dynamic_symtab_upper_bound): New function.
1130 (sunos_canonicalize_dynamic_symtab): New function.
1131 (sunos_get_dynamic_reloc_upper_bound): New function.
1132 (sunos_canonicalize_dynamic_reloc): New function.
1133 * libaout.h: Declare struct reloc_ext_external and
1134 reloc_std_external to avoid prototype problems.
1135 (struct aout_backend_data): Remove fields read_dynamic_symbols and
1136 read_dynamic_relocs.
1137 (NAME(aout,translate_symbol_table)): Declare.
1138 (NAME(aout,swap_ext_reloc_in)): Declare.
1139 (NAME(aout,swap_std_reloc_in)): Declare.
1140 * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
1141 translate_symbol_table and made non-static. Changed all callers.
1142 (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
1143 (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
1144 (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
1145 * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
1146 remove dynamic symbols and relocs. They will no longer be
1147 present.
1148 (MY_read_dynamic_symbols): Don't define.
1149 (MY_read_dynamic_relocs): Don't define.
1150 (sunos4_aout_backend): Don't initialize dynamic entry points.
1151 * aout-target.h (MY_read_dynamic_symbols): Don't define.
1152 (MY_read_dynamic_relocs): Don't define.
1153 (MY(backend_data)): Don't initialize dynamic entry points.
1154 (MY_get_dynamic_symtab_upper_bound): If not defined, define to
1155 _bfd_nodynamic version.
1156 (MY_canonicalize_dynamic_symtab): Likewise.
1157 (MY_get_dynamic_reloc_upper_bound): Likewise.
1158 (MY_canonicalize_dynamic_reloc): Likewise.
1159 * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
1160 * bfd-in2.h: Rebuilt.
1161 * libbfd.h: Rebuilt.
1162
1163 * cf-m68klynx.c: Include sysdep.h.
1164
1165 * hp300hpux.c: Removed some spaces in uses of NAME to avoid
1166 problems with traditional C compilers.
1167
6812b607
ILT
1168 * targets.c (bfd_target): Rearranged fields in target vector.
1169 Removed _bfd_debug_info_start, _bfd_debug_info_end and
1170 _bfd_debug_info_accumulate, which were never used.
1171 (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
1172 (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
1173 (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
1174 (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
1175 * All backends: Changed to use the new BFD_JUMP_TABLE_* macros
1176 rather than the single JUMP_TABLE macro. Removed many of the
1177 weird macro definitions needed to support the monolithic
1178 JUMP_TABLE.
1179 * bfd-in.h (JUMP_TABLE): Removed.
1180 * libbfd-in.h: Define a bunch of macros, and declare a few
1181 functions, for use with the new BFD_JUMP_TABLE_* macros.
1182 * libbfd.c (_bfd_dummy_new_section_hook): Removed.
1183 (bfd_false): Set bfd_error_invalid_operation.
1184 (bfd_nullvoidptr): Likewise.
1185 (bfd_n1): New function.
1186 (_bfd_nocore_core_file_matches_executable_p): Renamed from
1187 _bfd_dummy_core_file_matches_executable_p.
1188 (_bfd_nocore_core_file_failing_command): Similar rename. Set
1189 bfd_error_invalid_operation.
1190 (_bfd_nocore_core_file_failing_signal): Likewise.
1191 (_bfd_generic_get_section_contents): Renamed from
1192 bfd_generic_get_section_contents. Changed all callers.
1193 (_bfd_generic_set_section_contents): Similar rename.
1194 * ieee.c: #if 0 out ieee_bfd_debug_info_start,
1195 ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They
1196 were never called.
1197 * bfd-in2.h: Rebuilt.
1198 * libbfd.h: Rebuilt.
1199
65b1ef49
JL
1200Tue Apr 5 22:10:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1201
1202 * Crude support for examining dynamic libraries.
1203 * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
1204 DL_MAGIC objects.
1205 (som_prep_headers): Preserve the system_id for DYNAMIC objects.
1206 Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
1207 Write exec headers for DYNAMIC objects.
1208 (som_begin_writing): DYNAMIC objects have the same alignment
1209 restrictions as D_PAGED objects.
1210 (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
1211 objects.
1212 (object_flags): Add DYNAMIC.
1213
08a43162
SS
1214Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)
1215
1216 * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
1217 macro uses, confuses some non-ANSI compilers.
1218
b2452d39
JL
1219Tue Apr 5 15:50:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1220
1221 * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
1222 Don't free anything if we don't have a bfd_object.
1223 (som_close_and_cleanup): Call som_bfd_free_cached_info.
1224
b3cee0a9
ILT
1225Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1226
856613c4
ILT
1227 * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
1228 It turns out not to be required on Irix 5, and it causes problems
1229 if the sections happen to contain symbols.
1230
1231 * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
1232
b3cee0a9
ILT
1233 * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
1234 section->relocation is NULL; malloc might have returned NULL when
1235 given a zero size if there were no relocations.
1236 * bout.c (b_out_canonicalize_reloc): Likewise.
1237 * coffcode.h (coff_canonicalize_reloc): Likewise.
1238 * ecoff.c (ecoff_canonicalize_reloc): Likewise.
1239 * elfcode.h (elf_canonicalize_reloc): Likewise.
1240 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
1241 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
1242 * nlmcode.h (nlm_canonicalize_reloc): Likewise.
1243 * som.c (som_canonicalize_reloc): Likewise.
1244 * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc
1245 returns NULL, don't report an error if we asked for zero bytes.
1246 * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
1247 NULL, don't report an error if we asked for zero bytes.
1248 * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
1249
f3a14a9e
ILT
1250Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1251
c4dd531f
ILT
1252 * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
1253 if we don't have a bfd_object.
1254
4002f18a
ILT
1255 Made sure that every call to bfd_read, bfd_write, and bfd_seek
1256 checks the return value and handled bfd_error correctly. These
1257 changes are not itemised. Also:
1258 * aoutx.h (emit_strtab): Change return type to boolean, and return
1259 errors.
1260 (NAME(aout,write_syms)): Check emit_strtab return value.
1261 (NAME(aout,final_link)): Likewise.
1262 * coffcode.h (coff_write_relocs): Change return type to boolean,
1263 and return errors.
1264 (coff_write_object_contents): Check coff_write_relocs return
1265 value.
1266 * i386os9k.c (os9k_swap_exec_header_in): Change return type to
1267 boolean.
1268 (os9k_object_p): Check os9k_swap_exec_header_in return value.
1269 * oasys.c (oasys_read_record): Change return type to boolean.
1270 (oasys_slurp_symbol_table: Check oasys_read_record return value.
1271 (oasys_object_p, oasys_slurp_section_data): Likewise.
1272 (oasys_write_record): Change return type to boolean.
1273 (oasys_write_syms): Likewise. Also, check oasys_write_record
1274 return value.
1275 (oasys_write_sections): Check oasys_write_record return value.
1276 (oasys_write_header): Change return type to boolean. Check
1277 oasys_write_record return value.
1278 (oasys_write_end, oasys_write_data): Likewise.
1279 (oasys_write_object_contents): Check return values of
1280 oasys_write_header, oasys_write_syms, oasys_write_data, and
1281 oasys_write_end.
1282 * srec.c (srec_write_record): Change return type to boolean.
1283 (srec_write_header): Likewise. Also, check srec_write_record
1284 return value.
1285 (srec_write_section, srec_write_terminator): Likewise.
1286 (srec_write_symbols): Change return type to boolean.
1287 (internal_srec_write_object_contents): Check return value of
1288 srec_write_symbols, srec_write_header, srec_write_section, and
1289 srec_write_terminator.
1290
f3a14a9e
ILT
1291 * Makefile.in: Rebuilt dependencies.
1292
3e2993b6
PS
1293Mon Apr 4 10:56:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1294
1295 * aix386-core.c (aix386_bfd_is_local_label): Correct cast from
1296 asection to asymbol.
1297 * ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from
1298 bfd to asymbol.
1299 * trad-core.c (trad_unix_bfd_is_local_label): Correct cast from
1300 asection to asymbol.
1301
1f46bba3
JL
1302Sun Apr 3 18:27:29 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1303
1304 * som.c (som_slurp_string_table): Use malloc to allocate space
1305 for the cached copy of the native string table.
1306 (som_slurp_symbol_table): Likewise for the native symbol table.
1307 (som_slurp_reloc_table): Likewise for the native and generic
1308 relocation tables.
1309 (som_bfd_free_cached_info): Free the cached native strings,
1310 symbols, and relocations. Also free the canonical cached
1311 relocations.
1312
9deaaaf1
ILT
1313Fri Apr 1 12:40:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1314
d6d6b18a
ILT
1315 * aoutx.h (aout_link_write_symbols): If keep_memory is false, make
1316 sure the symbol name is stored in permanent memory before adding
1317 it to the string table.
1318
dfe09c49
ILT
1319 * archive.c (_bfd_write_archive_contents): Once we've found an
1320 object, don't bother to look for more when deciding whether to
1321 build a map.
1322 (compute_and_write_armap): After adding the symbols for a BFD,
1323 call bfd_free_cached_info on it.
1324
1325 Add bfd_free_cached_info support to a.out backends.
1326 * aoutx.h (aout_get_external_symbols): Renamed from
1327 aout_link_get_symbols. Read strings even if symbols have been
1328 read. Store string size in obj_aout_string_size.
1329 (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
1330 read the symbols. Allocate the cached symbols with malloc, not
1331 bfd_alloc.
1332 (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
1333 malloc, not bfd_alloc.
1334 (NAME(aout,bfd_free_cached_info)): New function; free cached
1335 symbols and relocs.
1336 * libaout.h (struct aoutdata): Add external_string_size field.
1337 (obj_aout_external_string_size): New accessor macro.
1338 (NAME(aout,close_and_cleanup)): Don't declare.
1339 (NAME(aout,bfd_free_cached_info)): Declare.
1340 (aout_32_close_and_cleanup): Don't define.
1341 (aout_64_close_and_cleanup): Don't define.
1342 * aout-target.h (MY_bfd_free_cached_info): If not already defined,
1343 define as NAME(aout,free_cached_info).
1344 (MY_close_and_cleanup): If not already defined, define as
1345 MY_bfd_free_cached_info.
1346 * aout-adobe.c (aout_32_close_and_cleanup): Define.
1347 (aout_32_bfd_free_cached_info): Don't define.
1348 * bout.c (aout_32_close_and_cleanup): Define.
1349 (aout_32_bfd_free_cached_info): Don't define.
1350 * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
1351 (MY_close_and_cleanup): Don't define.
1352 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
1353 relocs with malloc, not bfd_alloc.
1354 * i386os9k.c (aout_32_close_and_cleanup): Define.
1355 (aout_32_bfd_free_cached_info): Don't define.
1356
1357 Add a new entry point to free memory cached by a BFD.
9deaaaf1
ILT
1358 * targets.c (bfd_target): Add _bfd_free_cached_info field.
1359 * bfd.c (bfd_free_cached_info): Define.
1360 * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
1361 * bfd-in2.h: Rebuilt.
1362 * All backends: Initialize bfd_free_cached_info entry point to
1363 bfd_true.
1364
1365 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
1366 first, unused, argument.
1367 (hppa_elf_is_local_label): Declare instead of
1368 som_bfd_is_local_label.
1369
1370 * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
1371 absolute R_IREL reloc.
1372
bfe8224f
ILT
1373Thu Mar 31 11:52:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1374
f8ee1ebb
ILT
1375 Added some support for Irix 4 shared libraries.
1376 * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
1377 .lib section.
1378 (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
1379 STYP_ECOFF_LIB bit is set.
1380 (ecoff_compute_section_file_positions): Round the contents of a
1381 .lib section up to the next page boundary.
1382 (ecoff_set_section_contents): If we see a .lib section, increment
1383 the vma by one to count the number of shared libraries we have.
1384 (ecoff_write_object_contents): Don't crash if we see a
1385 STYP_ECOFF_LIB section, and don't adjust text_start or data_start
1386 or bss_size either.
1387
492d52cc
ILT
1388 * coffcode.h (CALC_ADDEND): Change to fetch original symbol value
1389 from original BFD, rather than using value of current BFD symbol.
1390 Needed for new linker.
1391 * coff-sparc.c (CALC_ADDEND): Likewise.
1392
1788b1bd
ILT
1393 * ecoff.c (ecoff_write_object_contents): Set the text_start and
1394 data_start entries in the optional header correctly even if a text
1395 or data section starts at location zero.
1396
e9c6595d
ILT
1397 * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
1398 and raeburn).
1399 * bfd-in2.h: Rebuilt.
1400
3af0f479
ILT
1401 * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
1402 name.
1403 * nlm32-alpha.c (nlm_alpha_read_import): Likewise.
1404 * nlm32-sparc.c (nlm_sparc_read_import): Likewise.
1405
bfe8224f
ILT
1406 * coffgen.c (coff_write_symbol): Reindented. Changed to return
1407 boolean, and changed written to unsigned int *. Check error
1408 returns from called functions.
1409 (coff_write_alien_symbol): Likewise.
1410 (coff_write_native_symbol): Likewise.
1411 (coff_write_symbols): Likewise. Reworked checks on whether to
1412 write symbol name to string table for clarity and to avoid core
1413 dumping when given a non COFF symbol.
1414 * libcoff-in.h (coff_write_symbols): Declare as returning boolean.
1415 * libcoff.h: Rebuilt.
1416 * coffcode.h (coff_write_object_contents): Check return value of
1417 coff_write_symbols.
1418
326e32d7
ILT
1419Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1420
1421 Changes to let BFD return an error indication from
1422 get_symtab_upper_bound, bfd_canonicalize_symtab,
1423 bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now
1424 return long instead of unsigned int, and use -1 to indicate an
1425 error. Along the way, rename get_symtab_upper_bound to
1426 bfd_get_symtab_upper_bound.
1427 * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
1428 errors.
1429 (bfd_canonicalize_reloc): Likewise.
1430 * syms.c (bfd_get_symtab_upper_bound): Renamed from
1431 get_symtab_upper_bound.
1432 * targets.c (bfd_target): Renamed _get_symtab_upper_bound to
1433 _bfd_get_symtab_upper_bound, and changed it and
1434 _bfd_canonicalize_symtab and _get_reloc_upper_bound and
1435 _bfd_canonicalize_reloc to all return long.
1436 * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
1437 (NAME(aout,canonicalize_reloc)): Likewise.
1438 (NAME(aout,get_reloc_upper_bound)): Likewise.
1439 (NAME(aout,get_symtab_upper_bound)): Likewise.
1440 * bout.c (b_out_canonicalize_reloc): Likewise.
1441 (b_out_get_reloc_upper_bound): Likewise.
1442 * coffcode.h (coff_canonicalize_reloc): Likewise.
1443 * coffgen.c (coff_get_symtab_upper_bound): Likewise.
1444 (coff_get_symtab): Likewise.
1445 (coff_get_reloc_upper_bound): Likewise.
1446 * ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
1447 (ecoff_get_symtab): Likewise.
1448 (ecoff_canonicalize_reloc): Likewise.
1449 * elfcode.h (elf_get_symtab_upper_bound): Likewise.
1450 (elf_get_reloc_upper_bound): Likewise.
1451 (elf_canonicalize_reloc): Likewise.
1452 (elf_get_symtab): Likewise.
1453 * hp300hpux.c (MY(get_symtab)): Likewise.
1454 (MY(get_symtab_upper_bound)): Likewise.
1455 (MY(canonicalize_reloc)): Likewise.
1456 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
1457 * ieee.c (ieee_slurp_external_symbols): Change return type to
1458 boolean. Check for errors from get_symbol.
1459 (ieee_slurp_symbol_table): Change return type to boolean. Check
1460 for errors from ieee_slurp_external_symbols.
1461 (ieee_get_symtab_upper_bound): Return long, and -1 on errors.
1462 (ieee_get_symtab): Likewise.
1463 (ieee_get_reloc_upper_bound): Likewise.
1464 (ieee_canonicalize_reloc): Likewise.
1465 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
1466 * nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
1467 (nlm_get_symtab): Likewise.
1468 (nlm_get_reloc_upper_bound): Likewise.
1469 (nlm_canonicalize_reloc): Likewise.
1470 * oasys.c (oasys_get_symtab_upper_bound): Likewise.
1471 (oasys_get_symtab): Likewise.
1472 (oasys_get_reloc_upper_bound): Likewise.
1473 (oasys_canonicalize_reloc): Likewise.
1474 * som.c (som_get_symtab_upper_bound): Likewise.
1475 (som_get_symtab): Likewise.
1476 (som_get_reloc_upper_bound): Likewise.
1477 (som_canonicalize_reloc): Likewise.
1478 * srec.c (srec_get_symtab_upper_bound): Likewise.
1479 (srec_get_symtab): Likewise.
1480 (srec_get_reloc_upper_bound): Define as bfd_0l.
1481 (srec_canonicalize_reloc): Likewise.
1482 * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
1483 (tekhex_get_symtab_upper_bound): Likewise.
1484 (tekhex_get_reloc_upper_bound): Define as bfd_0l.
1485 (tekhex_canonicalize_reloc): Likewise.
1486 * libaout.h (NAME(aout,get_symtab_upper_bound)): Change
1487 declaration to return long.
1488 (NAME(aout,get_symtab)): Likewise.
1489 (NAME(aout,canonicalize_reloc)): Likewise.
1490 (NAME(aout,get_reloc_upper_bound)): Likewise.
1491 * libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
1492 (coff_get_symtab): Likewise.
1493 (coff_get_reloc_upper_bound): Likewise.
1494 * libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
1495 (ecoff_get_symtab): Likewise.
1496 (ecoff_canonicalize_reloc): Likewise.
1497 * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
1498 (bfd_elf32_get_symtab): Likewise.
1499 (bfd_elf32_get_reloc_upper_bound): Likewise.
1500 (bfd_elf32_canonicalize_reloc): Likewise.
1501 (bfd_elf64_get_symtab_upper_bound): Likewise.
1502 (bfd_elf64_get_symtab): Likewise.
1503 (bfd_elf64_get_reloc_upper_bound): Likewise.
1504 (bfd_elf64_canonicalize_reloc): Likewise.
1505 * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
1506 (nlmNAME(get_symtab)): Likewise.
1507 (nlmNAME(get_reloc_upper_bound)): Likewise.
1508 (nlmNAME(canonicalize_reloc)): Likewise.
1509 * archive.c (compute_and_write_armap): Use error_return and
1510 no_memory_return labels rather than freeing information in various
1511 places. Change storage, symcount and src_count to long. Check
1512 errors from bfd_get_symtab_upper_bound and
1513 bfd_canonicalize_symtab.
1514 * bout.c (b_out_relax_section): Change reloc_size to long. Check
1515 for errors from bfd_get_reloc_upper_bound and
1516 bfd_canonicalize_reloc.
1517 (b_out_get_relocated_section_contents): Likewise.
1518 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1519 Likewise.
1520 * elf32-mips.c: Likewise.
1521 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
1522 (hppa_look_for_stubs_in_section): Check for errors from
1523 bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
1524 bfd_canonicalize_reloc.
1525 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
1526 from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
1527 * linker.c (generic_link_read_symbols): Likewise.
1528 (_bfd_generic_final_link): Check for errors from
1529 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
1530 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
1531 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
1532 (bfd_coff_reloc16_get_relocated_section_contents): Likewise.
1533 * libbfd.c (bfd_0l): New function.
1534 * libbfd-in.h (bfd_0l): Declare.
1535 * aix386-core.c: Change get_symtab_upper_bound, get_symtab,
1536 get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
1537 than bfd_0u.
1538 * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
1539 * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
1540 * bfd-in2.h: Rebuilt.
1541 * libbfd.h: Rebuilt.
1542 * libcoff.h: Rebuilt.
1543
1544 * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
1545 temp and name.
1546
c2c818bc
JK
1547Wed Mar 30 08:33:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1548
1549 * hosts/dpx2.h: Define POSIX_UTIME.
1550
bdf1b511
PS
1551Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1552
1553 * i386dynix.c, config/i386-dynix.mt: New files, handling Dynix
1554 variant of a.out.
1555 * configure.in, config.bfd: Use them for Dynix.
1556 * Makefile.in: Add dependencies for i386dynix.o.
1557 * targets.c: Add definition for i386dynix_vec.
1558 * hosts/symmetry.h: Do not define TRAD_CORE_USER_OFFSET for Dynix.
1559 Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
1560 for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
1561 i386dynix.c
1562
a8a916c8
ILT
1563Mon Mar 28 12:53:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1564
9f37f56a
ILT
1565 * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
1566
09a28207
ILT
1567 * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
1568 bfd_arch_rs6000.
1569
ce8f1f60 1570 * config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
34632537
ILT
1571 * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
1572
a8a916c8
ILT
1573 * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
1574 for generated constructor section.
1575
06e6eb0e
JL
1576Sun Mar 27 16:25:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1577
1578 * som.c (som_begin_writing): New approach at dealing with holes
1579 in executables left by the HP linker. Does not rely on subspace
1580 alignments as subspaces are *NOT* guaranteed to be properly
1581 aligned in an executable (can you believe that!).
1582
25057836
JL
1583Sat Mar 26 10:25:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1584
f977e865
JL
1585 * som.c (som_get_section_contents): New function. Do not try
1586 to actually read data from a section that doesn't have either
1587 SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
1588
25057836
JL
1589 * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
1590 read. (bfd_error_system_call or bfd_error_file_truncated).
1591
1592 * som.c: Do not blindly set bfd_error_system_call after a
1593 failing bfd_read, bfd_write, or bfd_seek. In a few places
1594 (like som_object_p) override the error status set by bfd_read.
1595
1596 * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
1597 * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
1598 * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
1599 * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
1600
1601 * som.c: Check return values from several bfd_{seek,read,write}
1602 calls that we just assumed were not failing.
1603
471c3c3f
JK
1604Fri Mar 25 11:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1605
1606 * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
1607 * config/sysv4.mh: Add comment.
1608 * config/symmetry.mh: Change comment.
1609 * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
1610
ec099b4b
ILT
1611Fri Mar 25 17:10:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1612
a3a33af3 1613 Changes to support linker relaxing of embedded MIPS PIC code to
471c3c3f 1614 use a five instruction sequence for function calls which are out of
a3a33af3
ILT
1615 range of the bal instruction.
1616 * libecoff.h (struct ecoff_section_tdata): Define.
1617 (ecoff_section_data): Define.
1618 (ecoff_bfd_relax_section): Don't define.
1619 * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
1620 the debugging information if it has already been read.
1621 (ecoff_indirect_link_order): Handle _cooked_size being different
1622 from _raw_size. Don't reread the contents or the relocs if they
1623 have already been read in.
1624 * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
1625 18 to 16.
1626 (PCREL16_EXPANSION_ADJUSTMENT): Define.
1627 (mips_relocate_refhi): Take adjust argument.
1628 (mips_relocate_section): Handle reloc offsets stored in section
1629 used_by_bfd field. Call mips_relax_pcrel16 to handle details of
1630 expanding an out of range PCREL16. Keep trace of adjustments
1631 required by expansions. Set s and unset h when converting a reloc
1632 from undefined to section. Change handling of PC relative relocs:
1633 if against a section, they are correct in the object file, if
1634 against an external symbol they are pcrel_offset.
1635 (mips_relax_section): New function.
1636 (mips_relax_pcrel16): New function.
1637 (ecoff_bfd_relax_section): Define.
1638 * coff-alpha.c (ecoff_bfd_relax_section): Define.
1639 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
1640 built by mips_relax_section when writing out addresses.
1641 * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
1642
ec099b4b
ILT
1643 * aoutx.h (NAME(aout,find_nearest_line)): The caller expects
1644 functionname_ptr to be set to a symbol name, so prepend
1645 symbol_leading_char.
1646
47e70c54
SC
1647Thu Mar 24 11:33:46 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1648
1649 * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
1650 for 16bit relative branches.
1651 * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
1652 overflow.
1653
9d7f682f
JL
1654Thu Mar 24 09:21:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1655
1656 * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
1657 (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
1658
1659Wed Mar 23 14:29:31 1994 David J. Mackenzie (djm@rtl.cygnus.com)
1660
1661 * netbsd386.c (N_SET_FLAGS): Delete the old definition.
1662
456961d1
ILT
1663Wed Mar 23 14:58:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1664
1665 Clean up the relaxing code for the new linker.
1666 * targets.c (_bfd_relax_section): Take boolean *again argument
1667 rather than asymbol list.
1668 * bfd.c (bfd_relax_section): Change name of fourth argument from
1669 symbols to again.
1670 * reloc.c (bfd_generic_relax_section): Take boolean *again
1671 argument rather than asymbol list. Always return true.
1672 * bout.c: Include genlink.h.
1673 (aligncode, perform_slip): Declare.
1674 (perform_slip): Take BFD argument rather than asymbol list.
1675 Changed all callers. Get the symbols from the BFD. Change the
1676 hash table entry value as well as the symbol value.
1677 (abs32code): Take BFD argument rather than asymbol list. Changed
1678 all callers.
1679 (aligncode): Likewise.
1680 (b_out_relax_section): Take boolean *again argument rather than
1681 asymbol list. Only return false if an error occurred. Set *again
1682 to false. Get symbols from BFD.
1683 * reloc16.c: Include genlink.h.
1684 (bfd_perform_slip): Take BFD argument rather than asymbol list.
1685 Get the symbols from the BFD. Change the hash table entry value
1686 as well as the symbol value.
1687 (bfd_coff_reloc16_relax_section): Take boolean *again argument
1688 rather than asymbol list. Only return false if an error occurred.
1689 Set *again to false. Get symbols from BFD.
1690 * coffcode.h (bfd_coff_backend_data): Change
1691 _bfd_coff_reloc16_estimate to take BFD argument rather than
1692 asymbol list.
1693 (bfd_coff_reloc16_estimate): Corresponding change.
1694 (dummy_reloc16_estimate): Corresponding change.
1695 * libcoff-in.h (bfd_coff_reloc16_relax_section): Change
1696 declaration to take boolean * rather than asymbol list.
1697 (bfd_perform_slip): Change declaration to take BFD rather than
1698 asymbol list.
1699 * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
1700 than asymbol list. Changed calls to bfd_perform_slip.
1701 * bfd-in2.h: Rebuilt.
1702 * libbfd.h: Rebuilt.
1703 * libcoff.h: Rebuilt.
1704 * Makefile.in: Rebuilt dependencies.
1705
1706 * genlink.h (_bfd_generic_link_get_symbols): Define.
1707 (_bfd_generic_link_get_symcount): Define.
1708 * linker.c (generic_link_read_symbols): New function.
1709 (generic_link_add_object_symbols): Use it. Use
1710 _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
1711 to get the symbols from the BFD.
1712 (generic_link_check_archive_element): Likewise.
1713 (_bfd_generic_final_link): Likewise.
1714 (_bfd_generic_link_output_symbols): Likewise.
1715 (default_indirect_link_order): Likewise.
1716 (generic_link_add_symbol_list): Store pointer to hash table entry
1717 in asymbol udata field.
1718
4335ce64
ILT
1719Tue Mar 22 13:09:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1720
c031ba0b
ILT
1721 * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
1722 reloc, used in embedded PIC code.
1723 (mips_adjust_reloc_in): Change sanity check to permit new reloc.
1724 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
1725 MIPS_R_PCREL16.
1726
4335ce64
ILT
1727 * elf32-mips.c (mips_elf_final_link): Account for link_order
1728 relocs when allocating space for relocations. Set SEC_RELOC flag
1729 for any section which has relocs. Handle link_order relocs in
1730 link_order loop. Use _bfd_generic_link_add_symbols_collect for
1731 add_symbls entry point.
1732
1733 * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
1734 counting relocs. Set SEC_RELOC flag for any section which has
1735 relocs.
1736
1737 * linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
1738
1739 * linker.c (_bfd_generic_link_add_symbols): Just call
1740 generic_link_add_symbols.
1741 (_bfd_generic_link_add_symbols_collect): New function, like
1742 _bfd_generic_link_add_symbols but also collect constructors and
1743 destructors by name as collect2 does.
1744 (generic_link_add_symbols): New function, like old
1745 _bfd_generic_link_add_symbols but with collect argument.
1746 (generic_link_add_object_symbols): Take collect argument.
1747 (generic_link_check_archive_element_no_collect): New function.
1748 (generic_link_check_archive_element_collect): New function.
1749 (generic_link_check_archive_element): Take collect argument.
1750 (generic_link_add_symbol_list): Take collect argument.
1751 (_bfd_generic_link_add_one_symbol): Rename constructor argument to
1752 collect.
1753 * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
1754 * libbfd.h: Rebuilt.
1755
9d92fe0a
JL
1756Tue Mar 22 10:04:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1757
1758 * archive.c (bfd_construct_extended_name_table): Use ar_padchar
1759 for first character in an extended name.
1760 (_bfd_write_archive_contents): If ar_padchar == '/', then use
1761 "//" as the name of the special archive member holding the
1762 extended name table.
1763
f1cca647
ILT
1764Mon Mar 21 12:28:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1765
1766 Support for link_order types which generate relocs in order to
1767 support -Ur in the linker.
1768 * linker.c (generic_link_add_symbol_list): Remove bitsize argument
1769 from call to _bfd_generic_link_add_one_symbol.
1770 (_bfd_generic_link_add_one_symbol): Remove bitsize argument.
1771 Don't pass bitsize to constructor call back. Pass BFD_RELOC_CTOR
1772 instead of bitsize to add_to_set call back.
1773 (_bfd_generic_final_link): Account for link_order relocs when
1774 allocating space for relocations. Handle them in link_order loop.
1775 (_bfd_generic_reloc_link_order): New function.
1776 (_bfd_default_link_order): If a reloc_link_order is seen here,
1777 abort.
1778 (_bfd_count_link_order_relocs): New function.
1779 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
1780 argument from declaration.
1781 (_bfd_generic_reloc_link_order): Declare.
1782 (_bfd_count_link_order_relocs): Declare.
1783 * libbfd.h: Rebuilt.
1784 * aoutx.h (aout_link_add_symbols): Remove bitsize argument from
1785 call to _bfd_generic_link_add_one_symbol.
1786 (NAME(aout,final_link)): Account for link_order relocs when
1787 allocating space for relocations. Handle them after handling all
1788 input BFDs.
1789 (aout_link_reloc_link_order): New function.
1790 * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
1791 call to _bfd_generic_link_add_one_symbol.
1792 (ecoff_bfd_final_link): Account for link_order relocs when
1793 allocating space for relocations. Handle them in link_order loop.
1794 (ecoff_link_write_external): Set the storage class of a defined
1795 linker created symbol based on the section it is in. Correct
1796 bfd_link_hash_weak case to use .sc rather than .st.
1797 (ecoff_reloc_link_order): New function.
1798 * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
1799 BFD_RELOC_CTOR.
1800 * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
1801
1802 * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
1803 and buf.
1804
1805 * cisco-core.c (cisco_core_file_p): Only pass one argument to
1806 bfd_zmalloc. Free a pointer, not a union.
1807 (cisco_bfd_is_local_label): Correct cast from asection to asymbol.
1808
142f59f4
JL
1809Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1810
17e64ad3
JL
1811 * bfd/som.c (som_begin_writing): Fix thinko (off by one error).
1812
c2e1207b
JL
1813 * som.c (bfd_section_from_som_symbol): Only to do the value
1814 comparison for function symbols within executables.
1815
c05d2d43
JL
1816 * som.c (bfd_section_from_som_symbol): Renamed from
1817 som_section_from_subspace_index. Pass in a native SOM symbol.
1818 For executables, iterate through the sections to find out
1819 which contains the symbol's address rather than using the
1820 symbol_info field. (symbol_info has a different meaning for
1821 dynamicly linked executables.)
1822
61bcbf40
JL
1823 * trad-core.c (trad_unix_core_file_p): Don't pass abfd to
1824 bfd_zmalloc.
1825
517a6af6
JL
1826 * som.c (som_begin_writing): Fix braino (one call to align
1827 space/subspace data was done unconditionally rather than
1828 just for executables.)
1829
142f59f4
JL
1830 * som.c (som_begin_writing): Align text in all executables to
1831 make HPUX kernel happy. Fixes strip/objcopy for shared
1832 executables.
1833
00806436
JL
1834Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1835
1836 * som.c (som_begin_writing): Account for alignment needs of
1837 subspaces too when writing executables. Never request a negative
1838 bss size. Fixes some problems with demand paged executables,
1839 still having problems with pure executables and shared executables.
1840
f3f29240
JK
1841Fri Mar 18 19:12:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1842
1843 * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
1844 bfd_zalloc for rawptr, because later on we may call free, not
1845 bfd_release, on it.
1846
1847 * bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
1848 * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
1849 * cisco-core.c: New file.
47dc9b52
JK
1850 * Makefile.in: Change accordingly.
1851 * configure.in: Recognize cisco_core_vec.
1852 * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
1853 * targets.c: Add cisco_core_vec.
f3f29240
JK
1854 * bfd-in2.h: Rebuilt.
1855
3b499495
JL
1856Fri Mar 18 18:13:49 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1857
15766917
JL
1858 * som.h (som_copyable_section_data_struct): New structure
1859 containing all the private section information which needs
1860 to be copied from input section to output section during
1861 objcopy or strip.
1862 (som_section_data_struct): Remove several fields now in
1863 som_copyable_section_data_struct. Make the space and
1864 subspace dictionaries be pointers (to save space when
1865 only reading objects).
1866
1867 * som.c (bfd_som_set_section_attributes): Now returns a boolean;
1868 some references changed. Allocate a copyable data stucture if
1869 none exists. Store info into the copyable data structure.
1870 (bfd_som_set_subsection_attributes): Likewise.
1871 (som_is_space, som_is_subspace, som_is_container): New functions.
1872 Use these instead of directly accessing private data.
1873 (som_prep_headers): Allocate space and subspace headers here.
1874 Fill in some fields in the space/subspace headers from the
1875 copyable data.
1876 (som_bfd_copy_private_section_data): Only copy the stuff
1877 that we really need to make objcopy and strip work. Allocate
1878 the copy_data structure for the output bfd before copying.
1879
4359a7ef
JL
1880 * som.h (struct som_exec_data): New structure to hold exec
1881 info that must be preserved when running objcopy/strip.
1882 (struct somdata): Add new "exec_data" field and accessor
1883 macro. Add some comments on how the various fields are used.
1884 (som_section_data_struct): Make is_space and is_subspace bitfields.
1885 Delete unused subspace_index. All references now use the
1886 target_index field within the section structure itself.
1887
1888 * som.c (make_unique_section): Delete unused declaration.
1889 (som_bfd_copy_private_bfd_data): New function.
1890 (som_object_setup): Allocate space for and save exec information
1891 that needs to be copied during objcopy/strip.
1892 (som_mkobject): Do not allocate space for a file header here.
1893 It is not used when only reading SOM objects.
1894 (som_prep_headers): Allocate space for and attach a file header
1895 to the output bfd. For executables, use the saved system_id
1896 value rather than trying to guess the right value. Do not abort
1897 wwhen setting file_hdr->entry* for executables.
1898 (som_begin_writing): For executables, set the exec_entry and
1899 exec_flags fields.
1900 (som_copy_private_backend_section_data): Always return a value.
1901
08b3c4f9
JL
1902 * libhppa.h (PA_PAGESIZE): Define.
1903
1904 * som.c (SOM_ALIGN): Define.
1905 (som_begin_writing): If writing an executable, initialize all
1906 fields in the exec header to zero. Update fields in the exec
1907 header as sizes of loadable subspaces are computed. Carefully
1908 preserve alignments when building executables. Actually write the
1909 exec after all the fields are filled in.
1910
3b499495
JL
1911 * Better long-filename handling. Reads SOM ABI compliant extended
1912 names, but doesn't quite write compliant extended names yet.
1913 * som.c (som_slurp_extended_name_table): Delete function. The
1914 generic code will handle things correctly.
1915 (som_slurp_armap): Seek to the beginning of the next member.
1916 (normalize): New function.
1917 (som_bfd_ar_write_symbol_stuff): Take the size of the extended
1918 name table into account when computing the file offsets in the
1919 SOM dictionary. Make sure to align to an even boundary.
1920 (som_write_armap): Initialize the checksum to zero.
1921 (ar_maxchars): Fix. Opps.
1922
ff978570
KR
1923Fri Mar 18 20:35:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1924
1925 * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
1926 machine. Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
1927
6f4aac6c
KR
1928Thu Mar 17 18:26:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1929
5a66538b
KR
1930 * bfd-in.h (BFD_VERSION): Use @VERSION@.
1931 * Makefile.in (bfd.h): Replace it with contents of VERSION file.
1932 * bfd-in2.h: Regenerated.
1933
6f4aac6c
KR
1934 * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
1935 this was also named trad_unix_bfd_copy_private_bfd_data.
1936
8eb5d4be
JK
1937Thu Mar 17 10:37:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1938
1939 * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
1940 elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
1941 returns NULL, it is not an error. It's possible that some of
1942 these checks are not necessary (because the size can never be
1943 zero), but putting in the checks is the conservative thing to do
1944 in light of the fact that some of these malloc calls replaced
1945 unchecked alloca calls, in which a zero argument would work fine.
1946
1c6042ee
ILT
1947Thu Mar 17 11:44:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1948
7838792b
ILT
1949 * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
1950 duplicate definition.
1951 (osf_core_bfd_is_local_label): Define.
1952
4bbf7a49
ILT
1953 * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
1954 if malloc (0) fails. bfd_canonicalize_reloc returning 0 is not a
1955 failure indication, it merely means there are no relocs.
1956
1c6042ee
ILT
1957 * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
1958 after NAME, since SunOS /bin/cc can't handle it.
1959
ae6710bc
DM
1960Wed Mar 16 16:43:33 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1961
1962 * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
1963 From sukes@glue.umd.edu (Tasuki Hirata).
1964
1965Wed Mar 16 07:55:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1966
1967 * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
1968 all that convoluted stuff with NAME, CAT3, etc. The convoluted
1969 stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
1970
35ac8aac
JL
1971Wed Mar 16 00:02:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1972
1973 * som.c (som_prep_for_fixups): Detect section symbols based
1974 on either the lack of private data or the symbol flags. Do not
1975 munge section symbol names anymore -- they no longer confuse GDB.
1976 (som_begin_writing): Leave space for an exec header if writing
1977 an executable.
1978 (som_slurp_symbol_table): Recognize both forms of section symbol
1979 names "L$0\002" and "$<FOO>$". Change the name of "L$0\002"
1980 section symbols to be the name of the section they represent.
1981 Debugging symbols begin with "L$0\001", not just "L$".
1982
5b3577cb
JL
1983Tue Mar 15 22:58:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
1984
1985 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
1986
1987 * bfd-in.h (JUMP_TABLE): Add new entries to the jump table
1988 for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
1989 and bfd_is_local_label.
1990
1991 * targets.c: Add new entries to the bfd_target structure.
1992
1993 * bfd.c (bfd_copy_private_bfd_data): New definition.
1994
1995 * section.c (bfd_copy_private_section_data): New definition.
1996
1997 * syms.c (bfd_is_local_label): New definition.
1998
1999 * libbfd-in.h (bfd_generic_is_local_label): Declare.
2000
2001 * libbfd.c (bfd_generic_is_local_label): New function.
2002
2003 * *-core.c: Provide default definitions for new functions in
2004 the target vector which all point to bfd_false.
2005
2006 * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
2007 libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
2008 Default new vectors for copying private backend data to bfd_true.
2009 Default new vector for determining if a symbol is a local label
2010 to bfd_generic_is_local_label.
2011
2012 * som.c (som_bfd_copy_private_section_data): New function.
2013 (som_bfd_is_local_label): New function.
2014 (som_bfd_copy_private_bfd_data): For now default to bfd_true.
2015
2016 * elf32-hppa.c (hppa_elf_is_local_label): New function.
2017
0069bd06
ILT
2018Tue Mar 15 23:55:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2019
2020 * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
2021
57a1867e
DM
2022Tue Mar 15 04:41:13 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2023
2024 * Most files:
2025 Replace DEFUN and DEFUN_VOID with K&R-style function definition.
2026 Indent some of them to GNU standards.
2027
2028 * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
2029 cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
2030 elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
2031 libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
2032 Update copyright years.
2033
ec743cef
JL
2034Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2035
baef2065
JL
2036 * som.c (som_prep_for_fixups): A relocation involving the section
2037 symbol for the *ABS* section is really a relocation involving
2038 no symbol.
2039 (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
2040 undefined symbols. Correctly distinguish between debugger symbols
2041 and section symbols.
2042
b486fb13
JL
2043 * som (setup_sections): Set SEC_DEBUGGING and the section attributes
2044 for spaces and subspaces.
2045
4c9db344
JL
2046 * som.c (som_bfd_count_ar_symbols): Fix typo.
2047
ec743cef
JL
2048 * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
2049 HAS_RELOC based on the object's magic number.
2050 (make_unique_section): Delete function. BFD and its users are
2051 prepared to handle multiple sections with the same name.
2052 (setup_sections): Allocate space on the BFD's obstack to hold
2053 section names. Use bfd_make_setion_anyway rather than the
2054 obsolete make_unique_section.
2055 (som_prep_headers): Choose the correct SOM magic number based
2056 on the BFD's flags.
2057 (som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
2058
45ccfd58
ILT
2059Sat Mar 12 09:46:09 1994 Ian Lance Taylor (ian@cygnus.com)
2060
2061 * elf32-ppc.c: Renamed from elf32-powerpc.c.
45ccfd58 2062 * nlm32-ppc.c: Renamed from nlm32-powerpc.c.
45ccfd58
ILT
2063 * Makefile.in, configure.in: Corresponding changes.
2064
92177c52
ILT
2065Fri Mar 11 22:27:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2066
2067 * elf32-powerpc.c: Extensive changes to update to preliminary ABI.
2068
3e0b5554
PS
2069Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2070
2071 * sunos.c (sunos_read_dynamic_info): Assume that dynamic info
2072 is always located at the start of the data section to allow
2073 recovery of the dynamic info from a stripped executable.
2074 * ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA
2075 and STYP_COMMENT.
2076
80425e6c
JK
2077Wed Mar 9 17:17:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2078
2079 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
2080 cruft (like the #pragma alloca for AIX).
2081 In addition to that problem, the C alloca calls xmalloc, which
2082 means checking for being out of memory can't work right. The
2083 following changes remove all uses of alloca from BFD.
2084 * hosts/solaris2.h: Remove alloca cruft.
2085 * som.c: Replace alloca with a fixed size auto array.
2086 * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
d7fb4531
JK
2087 ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
2088 sunos.c: Replace alloca with malloc and appropriate error checking and
80425e6c
JK
2089 freeing.
2090 * linker.c: Replace alloca with obstack_alloc.
2091 * libbfd.h: Rebuilt.
2092
1404c365
ILT
2093Tue Mar 8 12:10:38 1994 Ian Lance Taylor (ian@cygnus.com)
2094
2095 * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
2096 MIPS_R_GPREL.
2097
25677b5b
PS
2098Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2099
2100 * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word,
2101 Elf*_Off typedefs by their expansion, the typedefs have been
2102 removed from include/elf/internal.h.
802f4fe2
PS
2103 * elfcode.h (bfd_section_from_shdr): Handle SHT_DYNAMIC section like
2104 SHT_PROGBITS section.
25677b5b 2105
7b5f6e48
JL
2106Thu Mar 3 20:03:39 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2107
2108 * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
2109
baf200d4
JK
2110Wed Mar 2 13:28:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
2111
2112 * configure.host: Recognize i[34]86-sequent-*.
2113
2114 * trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
2115 return from bfd_seek indicates an error.
2116 New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
2117 TRAD_CORE_STACK_OFFSET.
2118 * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
2119 TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
2120
44fd6622
JL
2121Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2122
4e64845c
JL
2123 * som.[ch]: Do not include libhppa.h in som.c, instead include
2124 it in som.h.
2125
2126 * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
2127 include it in elf32-hppa.h.
2128
98ecc945
JL
2129 * som.c (log2): Return -1 on error rather than aborting.
2130 (setup_sections): Bubble up an error from log2.
2131
44fd6622
JL
2132 * Changes to make HP C compiler happy in both traditional
2133 and ANSI mode.
2134 * som.c (hppa_som_gen_reloc_type): Use correct enum type for
2135 field parameter.
2136 (bfd_som_set_section_attributes): Use unsigned int rather than
2137 unsigned char to avoid GNU-C extensions.
2138 (bfd_som_attach_aux_hdr): Return a boolean to indicate success
2139 or failure rather than aborting on failure.
2140
2141 * som.h (bfd_som_set_section_attributes): Fix prototype to match
2142 som.c changes.
2143 (bfd_som_attach_aux_hdr): Add prototype.
2144 (hppa_som-gen_reloc_type): Likewise.
2145
2146 * elf32-hppa.c: Add a couple casts to make HP compiler happy.
2147 (hppa_look_for_stubs_in_section): Do not return false on failure
2148 until rest of code is ready to handle it. Abort for now.
2149
d1f8b181
JK
2150Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
2151
2152 * bfd-in2.h: Rebuilt.
2153
85cc33c7
KH
2154Tue Mar 1 13:06:53 1994 Kung Hsu (kung@mexican.cygnus.com)
2155
bb37e716
KH
2156 * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
2157 * Makefile.in: delete an extra blank.
85cc33c7
KH
2158 * configure.in : Add i396os9k_vec.
2159
2f88343d
KH
2160Mon Feb 28 15:41:01 1994 Kung Hsu (kung@mexican.cygnus.com)
2161
5143c305
KH
2162 * config.bfd : Add i386-os9k.
2163 * config/i386-os9k.mt : Newly add os9k target makefile.
2164
2f88343d
KH
2165 * i386os9k.c : new file to handle os9k format bfd.
2166 * Makefile.in : Handle new file i386os9k.c
2f88343d
KH
2167 * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
2168 * cache.c : Initialize cache_sentinel to 0.
2169
6e58a4e5
JL
2170Sun Feb 27 16:30:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2171
f3b477be
JL
2172 * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
2173 action in case where caller specified no argument relocation.
2174 (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
2175 right in the original relocation and the stub's relocation.
2176
6e58a4e5
JL
2177 * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete
2178 unused symbols argument.
2179
2180 * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
2181 than asymbol * for original target symbol. All callers changed.
2182 Set reloc->sym_ptr_ptr appropriately.
2183 (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
2184 (hppa_elf_look_for_stubs_in_section): No longer need symbols
2185 argument. Use the output symbols when canonicalizing the relocs,
2186 creating them if necessary.
2187
2188 * linker.c (_bfd_generic_link_output_symbols): Do not
2189 rebuild/clobber the output symbols if they already exist.
2190
4c8d6c9f
SS
2191Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
2192
fdfe2d14
SS
2193 * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
2194 check all the pointer dereferences. Enabled via DEBUG_BFD_SEND.
2195 * bfd-in2.h: Rebuilt.
2196
4c8d6c9f
SS
2197 * srec.c (hex_value): Always set to a size of 256 bytes.
2198 (srec_init): Cosmetic changes.
2199
e08b9ad7
JL
2200Sun Feb 27 11:18:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2201
2202 * elf32-hppa.c: Second half of major cleanup. More comments,
2203 PARAMize and staticize rest of functions. Delete unused
2204 functions. Delete unused/unnecessary arguments to some functions.
2205 Group static vars together. Abort for bad errors until we have
2206 error code propogation working. Work on spacing and indention.
2207 Add FIXMEs for unresolved problems. Use enums rather than
2208 #defines for lots of things. Merge two functions which build
2209 linker stubs into a single function (so they can easily share a
2210 ton of common code).
2211
68241b2b
ILT
2212Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com)
2213
2214 * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
2215 avoid depending upon right shifts of signed numbers, and to
2216 correct handling of src_mask with lower bits zero.
2217
2218 * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
2219 * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
2220 * elf32-i386.c: Likewise.
2221 * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
2222 #if 0 code.
2223 (elf_write_phdrs): Make i unsigned.
2224 (map_program_segments): Make i and n_left unsigned.
2225 (assign_file_positions_except_relocs): Make i unsigned.
2226 (write_shdrs_and_ehdr): Make count unsigned.
2227 (assign_file_positions_for_relocs): Make i unsigned.
2228 (NAME(bfd,elf_write_object_contents)): Make count unsigned.
2229 (section_from_elf_index): Make index argument unsigned.
2230
96db3187
ILT
2231Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com)
2232
2233 * elfcode.h: Don't include assert.h.
2234 (swap_out_syms): Use BFD_ASSERT rather than assert.
2235
2236 * linker.c (_bfd_generic_link_write_global_symbol): Add missing
2237 break in switch.
2238
2239 * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
2240 declarations.
2241
d6439785
JL
2242Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2243
f5bfdacd
JL
2244 * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
2245
2246 * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
2247 (elf_hppa_tc_make_sections): Likewise.
2248 (elf_hppa_final_processing): Add extern decl.
2249
2250 * elf32-hppa.c: First half of major cleanup. Add/cleanup lots of
2251 comments. PARAMize some static functions. Delete unused functions.
2252 Delete unused/unnecessary arguments to many functions. Group
2253 static vars together. Collapse common case statements together
2254 in many places. Use default case when possible instead of listing
2255 each case separately. Abort for bad errors until we get error
2256 code propogation working. Work on spacing and indention problems.
2257 Add FIXMEs for some unresolved problems. Delete hopelessly broken
2258 COMPLEX relocation support (it's never used anyway).
2259 (hppa_elf_rebuild_insn): Delete. Moved into libhppa.h.
2260 (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
2261 (elf_hppa_tc_make_sections): Likewise.
2262
43ebdfcf
JL
2263 * format.c (bfd_check_format_matches): Initialize matching_vector
2264 to keep gcc -Wall quiet.
2265
2266 * elfcode.h (elf_slurp_reloca_table): Fix typo.
2267
d6439785
JL
2268 * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
2269 not "sizeof (som_symbol_type *)".
2270
2271 * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
2272 not "sizeof (asymbol"). Opps.
2273
fbb8fe5c
ILT
2274Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com)
2275
2276 * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
2277 (bfd_set_gp_size): Can't set gp value on an archive.
2278
5e808126
SC
2279Fri Feb 25 12:57:00 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2280
2281 * srec.c (pass_over): Don't skip too many characters when
2282 end of line seen.
2283
626f883f
ILT
2284Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com)
2285
2286 * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
2287 boundary.
2288
2289Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2290
2291 * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
2292 field for absolute symbols in the same manner as undefined
2293 and common symbols.
2294
a69b39f0
PS
2295Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2296
2297 * elfcode.h (elf_core_file_p): Check for core file e_machine match
2298 like in elf_object_p.
2299
2e7b92cf
JL
2300Wed Feb 23 18:28:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2301
2302 * elfcode.h (alloca): Delete declaration.
4f42757e
JL
2303
2304 * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
2305 number rather than HP9000S800_ID. Note som.c is careful
2306 to make sure CPU_PA_RISC1_0 is always defined.
2307
891dc727
SS
2308Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com)
2309
2310 * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
2311 flags to explicit compile actions.
2312
22a71fef
ILT
2313Mon Feb 21 09:50:06 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
2314
2f0deb19
ILT
2315 * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
2316 * ecoff.c (ecoff_write_object_contents): Make sure .bss section
2317 ends on a page boundary if there is no symbol table.
2318 (ecoff_bfd_final_link): Don't set symhdr->magic here.
2319
aaca79a8
ILT
2320 * hosts/hp300.h: Include <stdlib.h>; don't declare free.
2321
2ab0b7f3
ILT
2322 * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
2323 rather than an array of variable size.
2324 (som_bfd_fill_in_ar_symbols): Likewise.
2325 (som_bfd_ar_write_symbol_stuff): Likewise.
2326
22a71fef
ILT
2327 * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
2328 operation to avoid OSF 1.3 cc bug.
2329 * ecoff.c (ecoff_write_object_contents): Make text_size, data_size
2330 and bss_size bfd_size_type instead of unsigned long. Make
2331 text_start and data_start bfd_vma instead of unsigned long.
2332 * ecofflink.c (ecoff_add_string): Remove incorrect cast of return
2333 value.
2334
037ce95a
ILT
2335Sun Feb 20 16:06:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
2336
2337 * linker.c (_bfd_generic_link_add_archive_symbols): Consider
2338 symbols in the order they appear in the archive map.
2339
3a1de3cc
PS
2340Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2341
2342 * coff-alpha.c (reloc_nil): Add forward declaration, add missing
2343 error_message argument.
2344 * coff-sparc.c (bfd_coff_generic_reloc): Add forward declaration,
2345 add missing error_message argument.
2346 * mipsbsd.c (mips_fix_hi16_s): Add forward declaration, add missing
2347 error_message argument.
2348
99ec1f66
ILT
2349Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2350
99ec1f66 2351 Support for PowerPC NetWare.
92177c52 2352 * nlm32-powerpc.c: New file.
99ec1f66
ILT
2353 * config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
2354 * config/ppc-nlm.mt: New file.
2355 * configure.in (nlm32_powerpc_vec): New target vector; use
2356 nlm32-powerpc.o, nlm32.o, nlm.o.
2357 * targets.c (nlm32_powerpc_vec): Declare.
2358 * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
7ce8b9d1 2359 (CFILES): Add nlm32-powerpc.c.
99ec1f66
ILT
2360
2361 Initial support for PowerPC ELF. Done without an ABI, and
2362 probably to be changed when I get an ABI.
2363 * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
2364 * config/ppc-elf.mt: New file.
2365 * configure.in (bfd_elf32_powerpc_vec): New target vector; use
2366 elf32-powerpc.o, elf32.o, elf.o.
2367 * elf32-powerpc.c: New file.
2368 * elfcode.h (prep_headers): Add bfd_arch_powerpc case.
2369 (elf_set_arch_mach): Likewise.
2370 * targets.c (bfd_elf32_powerpc_vec): Declare.
2371 * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
2372 (CFILES): Add elf32-powerpc.c.
2373 Rebuilt dependencies.
2374
42f62ead
ILT
2375Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2376
2377 * coffgen.c (coff_write_linenumbers): Always return a value.
2378
2379 * elfcode.h (elf_slurp_symbol_table): Handle zero symbols
2380 reasonably. Allocate x_symp using alloca.
2381
2382 * elfcode.h (map_program_segments): ELF program header entries
2383 must be sorted by load address. This used to generate the entries
2384 in reverse order.
2385
2386 * section.c (SEC_IN_MEMORY): Define.
2387 (asection): Rename unused field otheruserdata to contents, and
2388 make it char *.
2389 (bfd_make_section_anyway): Initialize contents field to NULL.
2390 (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
2391 contents from contents field rather than from file.
2392 * bfd-in2.h: Rebuilt.
2393
d1ad85a6
DM
2394Thu Feb 17 08:30:53 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2395
2396 * bfd.c (bfd_get_error, bfd_set_error): New functions.
2397 (bfd_error): Make static.
2398 (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to
2399 all values.
2400 * bfd-in2.h: Regenerated.
2401 * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h,
2402 aoutf1.h, aoutx.h, archive.c, archures.c,
2403 bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c,
2404 coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c,
2405 ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c,
2406 elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c,
2407 i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c,
2408 lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c,
2409 nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
2410 ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c,
2411 srec.c, sunos.c, syms.c, targets.c, tekhex.c,
2412 trad-core.c: Change callers.
2413
7430a991
JL
2414Tue Feb 15 22:27:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2415
2416 * som.c: Remove FIXMEs for things which have been dealt with.
2417
54196ea1
KR
2418Tue Feb 15 19:39:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2419
2420 * section.c (bfd_get_section_contents): Since this function reads
2421 unrelocated contents, the section's raw size is always the one to
2422 use for bounds checking.
2423
2424 * linker.c (default_indirect_link_order): In assertion, compare
2425 link_order size field against cooked size, not raw size, of input
2426 section.
2427
2428 * bout.c (b_out_get_reloc_upper_bound): For BSS section, just
2429 return 0.
2430 (aligncode): When shrinking, the addend should be set to the
2431 current offset in the section plus the number of bytes of padding
2432 that will actually be retained.
2433 (b_out_relax_section): If a section contains no relocations, don't
2434 bother processing them.
2435 (b_out_get_relocated_section_contents): Set reloc_done. Assert
2436 that bfd_get_section_contents returns true. Check that relocs are
2437 properly ordered.
2438 (b_out_get_relocated_section_contents, case ALIGNDONE): Assert
2439 that reloc->addend falls between the current source offset and the
2440 raw size of the input section.
2441
2442 * config.bfd: Support i960 vxworks versions > 5.0 with coff, not
2443 bout. Default with no version number is still bout. Support
2444 explicit i960-coff target too.
2445
2446 * bout.c: Changed some indentation, deleted trailing whitespace,
2447 fixed some comments, removed some "#if 1" lines.
2448 (output_addr): New macro.
2449 (calljx_callback, callj_callback, get_value, abs32code, aligncode,
2450 b_out_get_relocated_section_contents): Use it for readability.
2451
c6cdb69a
JL
2452Tue Feb 15 09:00:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2453
2454 * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
2455 symbols, not the BFD symbols.
2456 (som_bfd_ar_write_symbol_stuff): Likewise.
2457
6e033f86
JL
2458Mon Feb 14 22:55:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2459
24a1f6a0
JL
2460 * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
2461 have any symbols.
2462
6e033f86
JL
2463 * Finish basic read-write support for SOM archive libraries. Bugs
2464 surely remain as this hasn't been tested all that much.
2465 * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
2466 (struct som_misc_symbol_info): New structure to hold info necessary
2467 to build both normal and library symbol tables.
2468 (som_derive_misc_symbol_info): New function to derive info necessary
2469 to build both normal and library symbol tables.
2470 (som_build_and_write_symbol_table): Use new function to derive misc
2471 symbol information.
2472 (som_slurp_symbol_table): Update backend private data for symbols
2473 appropriately.
2474 (som_bfd_prep_for_ar_write): New function.
2475 (som_bfd_ar_symbol_hash): New function.
2476 (som_bfd_ar_write_symbol_stuff): New function.
2477 (som_write_armap): Flesh out.
2478 (som_vec): Fix ar padding character.
2479
2480 * som.c: Consistently use memset rather than bzero.
2481
8b8ddedb
SG
2482Mon Feb 14 17:02:28 1994 Stu Grossman (grossman at cygnus.com)
2483
2484 * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where
2485 appropriate.
2486 * rs6000-core.c: Use HOST_AIX instead of COREFILES_PLEASE.
2487 * config/rs6000.mh: Remove defs of ARCHIVES_PLEASE and
2488 COREFILES_PLEASE.
2489 * config/rs6000lynx.mh: Turn on Lynx core file support.
2490 * hosts/rs6000.h: #define HOST_AIX.
5cf354ef 2491 * hosts/rs6000lynx.h: Create this to enable Lynx host support.
8b8ddedb 2492
6863eb4b
JL
2493Sun Feb 13 14:30:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2494
50c5c4ad
JL
2495 * som.h (som_symbol_data): Safely access backend private data
2496 for BFD symbols. All callers changed.
2497
6e033f86 2498 * Read-only SOM archive support.
3c37f9ca
JL
2499 * som.c (som_bfd_count_ar_symbols): New helper function.
2500 (som_bfd_fill_in_ar_symbols): New helper function.
2501 (som_slurp_armap): New function to read a SOM LST.
2502
6863eb4b
JL
2503 * som.h: Include <lst.h> and <ar.h>.
2504
5e829a34
JL
2505Sat Feb 12 22:34:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2506
2507 * elfcode.h (elf_map_symbols): Fix typo.
2508 (write_object_contents): Check return values from prep_headers and
2509 elf_compute_section_file_positions.
2510 (set_section_contents): Likewise.
2511
a15691a5
DM
2512Fri Feb 11 16:56:50 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2513
2514 * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
2515 (bfd_construct_extended_name_table): Check result of normalize.
2516
9783e04a
DM
2517Tue Feb 8 08:57:31 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2518
2519 Make all callers of malloc or realloc (including via obstacks)
2520 check the result for NULL. Most set bfd_error to no_memory and
2521 return in that case; a few are harder to fix, and are marked
2522 with "FIXME <return type>".
2523
2524 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub
2525 hppa_elf_build_long_branch_stub): Check bfd_make_empty_symbol return.
2526 * linker.c (_bfd_generic_link_output_symbols
2527 _bfd_generic_link_write_global_symbol): Ditto
2528 * section.c (bfd_make_section_anyway): Ditto.
2529
2530 * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
2531 (first_phase): Ditto. FIXME void
2532 (tekhex_make_empty_symbol): Check bfd_zalloc.
2533
2534 * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
2535 (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
2536
2537 * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
2538
2539 * srec.c: Indent.
2540 (fillup_symbols): Check bfd_alloc. FIXME void
2541 (srec_mkobject srec_get_section_contents
2542 srec_set_section_contents): Check bfd_alloc.
2543 (srec_make_empty_symbol): Check bfd_zalloc.
2544
2545 * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
2546 (make_unique_section): Check bfd_alloc.
2547 (som_new_section_hook): Check bfd_zalloc.
2548 (bfd_som_attach_aux_hdr): Ditto. FIXME void
2549
2550 * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
2551
2552 * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
2553 (osf_core_core_file_p): Check bfd_alloc.
2554
2555 * oasys.c (oasys_slurp_symbol_table oasys_archive_p
2556 oasys_mkobject oasys_object_p oasys_new_section_hook
2557 oasys_set_section_contents): Check bfd_alloc.
2558 (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
2559 (oasys_make_empty_symbol): Check bfd_zalloc.
2560
2561 * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
2562 (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
2563
2564 * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
2565
2566 * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
2567
2568 * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
2569
2570 * linker.c (_bfd_link_hash_newfunc
2571 (generic_link_hash_newfunc
2572 (archive_hash_newfunc
2573 (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
2574 (_bfd_generic_final_link
2575 (_bfd_generic_link_output_symbols
2576 (default_indirect_link_order): Check bfd_alloc.
2577 (bfd_new_link_order): Check bfd_alloc_by_size_t.
2578
2579 * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
2580
2581 * ieee.c: Indent.
2582 (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
2583 ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
2584 (do_one): Check bfd_alloc. Return a boolean.
2585 (ieee_slurp_section_data): Check it.
2586 (init_for_output): Check bfd_alloc. Return a boolean.
2587 (ieee_set_section_contents): Check it.
2588 (do_with_relocs): Check bfd_alloc. Return a boolean.
2589 (ieee_bfd_debug_info_accumulate): Ditto. FIXME void.
2590 (ieee_mkobject): Check bfd_zalloc.
2591 (ieee_make_empty_symbol): Check bfd_zmalloc.
2592
2593 * hpux-core.c (hpux_core_make_empty_symbol): Check
2594 bfd_zalloc.
2595
2596 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
2597 bfd_zalloc.
2598 (hppabsd_core_core_file_p): Check bfd_zalloc.
2599
2600 * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
2601
2602 * elfcode.h (elf_new_section_hook): Check bfd_alloc.
2603 (bfd_section_from_phdr): Ditto.
2604 (write_relocs): Ditto. FIXME void
2605 (elf_map_symbols assign_section_numbers map_program_segments):
2606 Ditto. Return a boolean.
2607 (swap_out_syms): Ditto. Check elf_map_symbols.
2608 (elf_slurp_symbol_table): Check bfd_zalloc.
2609 (elf_slurp_reloca_table): Check bfd_alloc.
2610 (elf_slurp_reloc_table): Ditto.
2611 (elf_compute_section_file_positions): Check assign_section_numbers.
2612 (assign_file_positions_except_relocs): Return a boolean.
2613 Check map_program_segments.
2614 (elf_compute_section_file_positions): Check it.
2615
2616 * elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
2617
2618 * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
2619 realloc.
2620 (hppa_elf_stub_reloc): Ditto.
2621 (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
2622 (hppa_elf_build_long_branch_stub): Ditto.
2623 (elf32_hppa_backend_symbol_table_processing): Ditto.
2624
2625 * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc. Return a boolean.
2626 (ecoff_slurp_symbol_table): Check it.
2627 (ecoff_slurp_armap): Check bfd_alloc.
2628 (ecoff_write_armap): Check bfd_zalloc.
2629 (ecoff_link_hash_newfunc): Check bfd_hash_allocate and
2630 _bfd_link_hash_newfunc.
2631 (ecoff_link_add_externals): Check bfd_alloc.
2632
2633 * ctor.c (bfd_constructor_entry): Check bfd_alloc.
2634
2635 * coffgen.c (coff_real_object_p): Check bfd_alloc.
2636 (coff_renumber_symbols): Check bfd_alloc_by_size_t. Return a boolean.
2637 (coff_write_symbol): Check bfd_alloc. FIXME int
2638 (coff_write_linenumbers): Check bfd_alloc. Return a boolean.
2639 (coff_section_symbol): Check bfd_alloc_by_size_t.
2640 (coff_get_normalized_symtab): Check bfd_alloc.
2641 (coff_bfd_make_debug_symbol): Check bfd_zalloc.
2642 * libcoff-in.h: Change decls of coff_renumber_symbols,
2643 coff_write_linenumbers.
2644 * libcoff.h: Rebuilt.
2645 * coffcode.h (coff_write_object_contents): Check
2646 coff_renumber_symbols, coff_write_linenumbers.
2647
2648 * coffcode.h: Indent.
2649 (coff_add_missing_symbols): Check bfd_alloc_by_size_t. Return a
2650 boolean.
2651 (coff_write_object_contents): Check it.
2652
2653 * coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
2654 * coff-mips.c (mips_relocate_section): Ditto.
2655
2656 * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
2657 (do_slurp_bsd_armap): Ditto.
2658 (compute_and_write_armap): Check bfd_realloc value.
2659
2660 * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
2661 return value. Return boolean value.
2662 (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
2663 (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
2664 return value.
2665 (add_to_stringtab): Ditto. FIXME void
2666 (aout_link_hash_newfunc): Check bfd_hash_allocate return value.
2667 (aout_link_add_symbols): Check bfd_alloc value.
2668 (translate_symbol_table): Check translate_from_native_sym_flags.
2669 * hp300hpux.c (MY(slurp_symbol_table)): Ditto.
2670 * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
2671
2672 * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
2673
2674 * opncls.c (obstack_chunk_alloc): Define as malloc, not
2675 bfd_xmalloc_by_size_t.
2676 (_bfd_new_bfd): Check obstack_begin for 0 return.
2677
2678 * ieee.c (obstack_chunk_alloc): Define as malloc, not
2679 bfd_xmalloc_by_size_t.
2680 (ieee_archive_p): Check obstack_begin for 0 return and
2681 obstack_finish for NULL return.
2682
2683 * hash.c (obstack_chunk_alloc): Define as malloc, not
2684 bfd_xmalloc_by_size_t.
2685 (bfd_hash_table_init_n): Check obstack_begin for 0 return and
2686 obstack_finish for NULL return.
2687 (bfd_hash_lookup): Check obstack_alloc for NULL return.
2688
2689 * ecofflink.c (obstack_chunk_alloc): Define as malloc, not
2690 bfd_xmalloc_by_size_t.
2691 bfd_ecoff_debug_accumulate
2692 bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
2693 (add_file_shuffle add_memory_shuffle): Check obstack_alloc for
2694 NULL return. Return boolean, not void.
2695 (bfd_ecoff_debug_init): Check obstack_begin for 0 return.
2696 (bfd_ecoff_debug_accumulate): Check add_file_shuffle
2697 and add_memory_shuffle return.
2698 (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
2699 (bfd_ecoff_debug_accumulate): Check bfd_alloc.
2700 (ecoff_add_string): Check add_memory_shuffle return.
2701
2702 * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
2703 Remove decls.
2704 * libbfd.h: Rebuilt.
2705
30e441ca
SG
2706Fri Feb 11 15:35:32 1994 Stu Grossman (grossman at cygnus.com)
2707
2708 * configure.host: Add Lynx/rs6000 support.
2709 * config/i386-nlm.mt: Enable a.out file support.
2710 * config/rs6000lynx.mh: Lynx/rs6000 host support.
2711
5ee3886b
ILT
2712Fri Feb 11 17:25:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2713
2714 * archive.c (compute_and_write_armap): Rewrite somewhat to improve
2715 memory usage.
2716
9a793780
SS
2717Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com)
2718
2719 * archive.c: Change all references to '\n' in archive magic
2720 to '\012', for greater portability.
2721 * ecoff.c (ecoff_write_armap): Ditto.
2722
2723Thu Feb 10 12:58:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2724
2725 * aoutx.h (aout_link_write_other_symbol): Check strip settings to
2726 see whether symbol should be output.
2727 * genlink.h (struct generic_write_global_symbol_info): Added info
2728 field.
2729 * linker.c (_bfd_generic_final_link): Initialize wginfo.info.
2730 (_bfd_generic_link_write_global_symbol): Check strip settings to
2731 see whether symbol should be output.
2732 * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
2733
a62dd44f
JL
2734Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2735
9a793780
SS
2736 * som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
2737
a62dd44f
JL
2738 * som.c: Cast return values from BFD memory allocation routines to
2739 avoid warnings from the HP compiler.
2740
945f125b
ILT
2741Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2742
0d634116
ILT
2743 * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
2744 reloc on an "ldl" instruction too.
2745
945f125b
ILT
2746 * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
2747 when passing them to sprintf. Use %ld instead of %d.
2748
2749 * coff-rs6000.c (rs6000coff_mkarchive): Return false.
2750 (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
2751 Also removed unused variable namelen.
2752 (rs6000coff_write_armap): Declare orl_count and stridx parameters.
2753
2754Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2755
2756 * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
2757 conflicts.
2758 * libbfd.h: Rebuilt.
2759
fa965415
KR
2760Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2761
2762 * coff-alpha.c (reloc_nil): New function.
2763 (alpha_howto_table): Use it as special_function to prevent certain
2764 relocs from being adjusted by bfd_perform_relocation. IGNORE
2765 reloc should be partial_inplace.
2766 (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
2767 reloc on an "ldl" instruction too.
2768
7c202d37
PS
2769Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2770
2771 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
2772 hppa_elf_build_long_branch_stub): Cast to char * instead of int
2773 before performing pointer arithmetic.
2774
9ed21f0e
JL
2775Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2776
2777 * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
2778 configuration.
2779 (hppa*-*-*elf*): This configuration used hppa-elf now.
2780
2781 * som.c: This file is also used for HOST_HPPAOSF.
2782
2783 * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
2784
2785 * hosts/hppaosf.h: New host configuration file.
2786
2787 * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
2788 BSD handles both SOM and ELF object files.
2789
2790 * config/hppaosf.mh (HDEFINES): Delete. No longer needed.
2791 (RANLIB): Doesn't do anything, define it to be "echo".
2792
2793 * config/hppaosf.mt: New target makefile fragment for a PA running
2794 OSF1.
2795
bf969135
ILT
2796Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2797
66f1cff5
ILT
2798 * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
2799 (archures_init_table): If SELECT_ARCHITECTURES is not defined,
2800 added bfd_powerpc_arch.
2801 * bfd-in2.h: Rebuilt.
2802 * cpu-powerpc.c: New file.
2803 * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
2804 Rebuilt dependencies.
2805
bf969135
ILT
2806 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
2807 of an SHT_STRTAB section from sh_addr and sh_addralign, rather
2808 than just setting them to zero.
2809
b9d5cdf0
DM
2810Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2811
2812 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
2813 from bfd_new_strtab.
2814 (elf_compute_section_file_positions): Check for false return from
2815 swap_out_syms.
2816
2817 * linker.c (default_indirect_link_order): Check for NULL return
2818 from bfd_get_relocated_section_contents.
2819
2820 * syms.c: Make example application in doc call xmalloc, not
2821 bfd_xmalloc.
2822
2823 * aoutx.h (NAME(aout,slurp_symbol_table),
2824 aout_link_get_symbols, NAME(aout,link_hash_table_create)):
2825 * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
2826 * ecoff.c (ecoff_bfd_link_hash_table_create):
2827 * ecofflink.c (bfd_ecoff_debug_init):
2828 * format.c (bfd_check_format_matches):
2829 * linker.c (_bfd_generic_link_hash_table_create):
2830 (_bfd_generic_final_link):
2831 * reloc16.c (bfd_coff_reloc16_relax_section):
2832 (bfd_coff_reloc16_get_relocated_section_contents):
2833 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
2834 * elf32-mips.c (mips_elf_final_link):
2835 * elfcode.h (bfd_new_strtab):
2836 (bfd_add_2_to_strtab):
2837 (elf_slurp_symbol_table):
2838 (elf_corefile_note):
2839 * libbfd.c (bfd_zmalloc):
2840 Use malloc and check the result, instead of bfd_xmalloc.
2841
6b054519
JK
2842Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2843
2844 * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
2845
bf430317
PS
2846Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2847
2848 * srec.c (srec_write_record): Put CONST keyword for "src" before
2849 "unsigned", some compilers don't like it after "unsigned".
2850 * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
2851 "val" in prototype declaration because some compilers don't like
2852 arguments whose names are the same as types.
2853
9b39ed6b
ILT
2854Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2855
2856 * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
2857 object file defines symbol. Also, if skipping a symbol, skip the
2858 second symbol of a N_WARNING or N_INDR symbol as well.
2859
d352be4f
ILT
2860Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2861
2862 Add basic support for writing RS/6000 XCOFF files.
2863 * coff-rs6000.c (dummy_reloc): Removed.
2864 (rs6000coff_howto_table): Defined XCOFF relocs.
2865 (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
2866 (rs6000coff_rtype2howto): New function.
2867 (coff_bfd_reloc_type_lookup): Defined to use
2868 rs6000coff_reloc_type_lookup.
2869 (rs6000coff_reloc_type_lookup): New function.
2870 (SELECT_RELOC): Defined to set r_type and r_size fields.
2871 (COFF_LONG_FILENAMES): Defined.
2872 * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
2873 fields to bitfields. Added fields fix_value and fix_scnlen.
2874 (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
2875 STYP_INFO for the type of a section named .debug.
2876 (coff_add_missing_symbols): Don't define if RS6000COFF_C.
2877 (coff_write_object_contents): If RS6000COFF_C, don't call
2878 coff_add_missing_symbols.
2879 (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
2880 entry has type STY_LD change the x_scnlen into a pointer to a
2881 symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
2882 value into a pointer to a symbol and set fix_value.
2883 * libcoff.h: Rebuilt.
2884 * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
2885 get the symbol offset. Likewise for fix_scnlen.
2886 (string_size): Change type to bfd_size_type.
2887 (debug_string_size, debug_string_section): New static variables.
2888 (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
2889 write the symbol name into the .debug section; assume that the
2890 section has already been created with the right size.
2891 (coff_write_symbols): Initialize debug_string_size to 0. If
2892 bfd_coff_symname_in_debug returns true, don't put symbol name in
2893 usual string table. After writing out all symbols, if
2894 debug_string_size is not 0, check that it matches the size of the
2895 .debug section.
2896 (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
2897 fields. If the string offset is 0, always use an empty string as
2898 the name.
2899 (coff_make_empty_symbol): Zero out the symbol structure.
2900 * reloc.c (bfd_perform_relocation): Work around one gross hack
2901 with another: actually look at the target name to avoid the broken
2902 COFF check.
2903 (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
2904 BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
2905 * bfd-in2.h: Rebuilt.
2906
0ee34272
DM
2907Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2908
2909 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
2910 (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
2911 * libbfd-in.h: Define them as macros calling xmalloc and declare
2912 xmalloc.
2913 * libbfd.h: Rebuilt.
0ee34272 2914
fa2302b8
ILT
2915Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2916
cbc174e7
ILT
2917 * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
2918 symbol has a value in the ECOFF symbol but not in the BFD symbol,
2919 keep the value in the ECOFF symbol. This helps gas.
2920
5072b8e5
ILT
2921 * linker.c (_bfd_generic_link_output_symbols,
2922 _bfd_generic_link_write_global_symbol): Don't require that all
2923 references to a common symbol be themselves common symbols.
2924
fa2302b8
ILT
2925 * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
2926
96ad107b
JK
2927Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2928
2929 * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
2930 sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
0324156c 2931 * bfd-in2.h: Rebuilt.
96ad107b 2932
192d8ee8
ILT
2933Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2934
38e1f0ce
ILT
2935 * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
2936 and size correctly.
2937 (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
2938 x_csect.x_scnlen.l to match change in coff/internal.h.
2939 (coff_swap_aux_out): Likewise.
2940
ebf3b4cd
ILT
2941 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
2942 (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
2943 fields to match yesterday's changes.
2944
192d8ee8
ILT
2945 * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
2946 in the internal_reloc itself, not the type.
2947 * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
2948 coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
2949 definition of SELECT_RELOC accordingly.
2950
330595d0
ILT
2951Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2952
2953 * coffcode.h (bfd_coff_backend_data): Added new arguments to
2954 _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
2955 and number of aux entries.
2956 (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
2957 accordingly.
2958 * libcoff.h: Rebuilt.
2959 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
2960 arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
2961 specially if this is the last aux entry.
2962 * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
2963 new arguments to swap_aux functions.
2964
4e810849
KR
2965Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2966
2967 * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
2968 (only testing for m68k and vax at the moment); do verify that the
2969 preprocessor didn't trash the arch name inside the string version.
2970 Don't print out "pagesize =" line that prevents output from
2971 compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
2972 results.
2973 * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
26b572e4
KR
2974 (check, installcheck): Identify directory in "no testsuites"
2975 message.
4e810849 2976
2edc8357
ILT
2977Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2978
2979 * aoutx.h (aout_link_write_symbols): Write out correct value for
2980 object file symbol.
2981
098630a0
KR
2982Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2983
2984 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
2985 KERNBASE, so hard-code 0x80000000 instead.
2986
c3156966
ILT
2987Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2988
2989 * linker.c (generic_link_add_symbol_list): If symbol is common,
2990 set the BSF_OLD_COMMON flag.
2991
d6d4e4c3
DM
2992Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2993
2994 * format.c (bfd_check_format_matches): Put the new entry in the
2995 correct element of matching_vector.
2996
09f70549
JK
2997Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2998
2999 * som.c, som.h (bfd_som_set_section_attributes,
3000 bfd_som_set_subsection_attributes): Change parameters from char
3001 to int. Following a prototype with an old-style function definition
3002 in the presence of widened parameters is a GCC-ism not supported
3003 by the HP compiler in ANSI mode.
3004
a927c32d
ILT
3005Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3006
8638431e
ILT
3007 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
3008
3b490cdd
ILT
3009 * hp300hpux.c (MY(write_object_contents)): Write out the symbols
3010 before writing out the relocs, so that the right symbol indices
3011 are used.
3012
71d58b59
ILT
3013 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
3014 try to overlay the internal carsyms on the external symdefs. That
3015 can not work if the size of a host pointer is larger than 4 bytes.
3016
3017 * format.c (bfd_check_format_matches): Cast result of
3018 bfd_xmalloc_by_size_t.
3019 * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
3020
a927c32d
ILT
3021 * archive.c: Reindented to GNU standards.
3022
aabda2da
DM
3023Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3024
f4bd7a8f
DM
3025 * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
3026 "_bfd_" to function names.
3027 * archive.c (_bfd_create_empty_archive_element_shell),
3028 libbfd-in.h: Change callers.
3029
3030 * libbfd.c (bfd_zmalloc): Renamed from zalloc.
3031 * libbfd.c (bfd_add_to_string_table),
3032 trad-core.c (trad_unix_core_file_p),
3033 targets.c (bfd_target_list),
3034 ptrace-core.c (ptrace_unix_core_file_p),
3035 opncls.c (new_bfd), libbfd-in.h,
3036 ieee.c (ieee_make_empty_symbol),
3037 elf32-hppa.c (hppa_elf_stub_branch_reloc),
3038 (hppa_elf_stub_reloc): Change callers.
3039 * libbfd.h: Regenerated.
3040
3041 * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
3042 (_bfd_get_elt_at_filepos),
3043 coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
3044 Change callers.
3045
3046 * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
3047 elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
3048 and default_vector to bfd_default_vector.
3049 * libbfd.h: Regenerated.
3050
aabda2da
DM
3051 * format.c (bfd_check_format_matches): New function.
3052 (bfd_check_format): Call it.
3053 (bfd_matching_formats): Function removed.
3054 * targets.c: Replace the vector added on Jan 21 with a count of
3055 entries in default_vector.
3056 * bfd-in2.h: Regenerated.
3057
ca1c6bec
ILT
3058Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3059
3f048f7f
ILT
3060 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
3061 .pdata section based on lnnoptr field, not section header.
3062 (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
3063 since it is unsigned.
3064 (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
3065 coff_object_p.
3066 * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
3067 .pdata section to 3.
3068 (ecoff_compute_section_file_positions): Save the size of the
3069 .pdata section in the line_filepos field, and actually align the
3070 .pdata section to an alignment power of 4.
3071 (ecoff_compute_reloc_file_positions): Set output_has_begun after
3072 calling ecoff_compute_section_file_positions.
3073 (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
3074 section from the line_filepos field. Set vstamp for the optional
3075 header from the vstamp of the symbolic header.
3076 (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
3077 vstamp used by the first object file in the link.
3078
3079 * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
3080
a20bdb43
ILT
3081 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
3082 for a created common section.
3083 (_bfd_generic_link_add_one_symbol): Likewise.
3084
3085 * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
3086 get the index of a common section, rather than always using
3087 SHN_COMMON (MIPS has multiple common sections).
3088
7a60ed8c
ILT
3089 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
3090
4991ebb9
ILT
3091 * bfd/aoutx.h (aout_link_input_section_std,
3092 aout_link_input_section_ext): Pass additional arguments to
3093 reloc_overflow callback.
3094 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
3095 alpha_relocat_section): Likewise.
3096 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
3097 * coff-h8500.c (extra_case): Likewise.
3098 * coff-mips.c (mips_relocate_section): Likewise.
3099 * coff-z8k.c (extra_case): Likewise.
3100 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
3101 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
3102
1cedfe03
ILT
3103 * bout.c (calljx_callback, callj_callback): Use get_value to get
3104 the symbol value and check for undefined symbols.
3105 (get_value): If the symbol is undefined, look it up in the linker
3106 hash table.
3107 (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
3108 use get_value to get the symbol value and check for undefined
3109 symbols.
3110 * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
3111 undefined, look it up in the linker hash table.
3112
ca1c6bec
ILT
3113 * aoutx.h (translate_symbol_table): The string index 0 has a
3114 special meaning for normal symbols, but not for dynamic symbols.
3115
3f2255e7
SG
3116Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
3117
3118 * sparclynx.c: Setup appropriate macros to enable core file
3119 support.
3120
0f8f509c
DM
3121Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3122
3b31740c
DM
3123 * targets.c: Add a vector of matching format names.
3124 * format.c (bfd_matching_formats): New function to return it.
3125 (bfd_check_format): Set it.
3126 * bfd-in2.h: Regenerated.
3127
0f8f509c
DM
3128 * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
3129 Remove decl of type symclass; wasn't used.
3130 * bfd.c: Document error handling, including code fragments
3131 containing the error decls that were in bfd-in.h.
3132 Remove DEFUNs.
3133 * bfd-in2.h: Regenerated.
3134
27814aa6 3135Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
4733517b
JK
3136
3137 * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
3138 The sparc (and possibly other?) NLM format requires a different
3139 way to write exports, so add a write_export field to the backend
3140 data (and set it to NULL for everything but the sparc).
e7cc9a2e 3141
3f40d101
DM
3142Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3143
e7cc9a2e
JK
3144 * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
3145 not (struct external_nlist *) NULL. info->dynrel is a PTR, not
3146 a struct external_nlist *.
3147
6de49562
DM
3148Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3149
74788cf0 3150 * bfd.c: Remove error strings for errors removed below.
6de49562
DM
3151 * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
3152 oasys.c (oasys_write_sections): Rename
3153 bfd_error_nonrepresentable_section to nonrepresentable_section.
3154 None of the other bfd error names start with "bfd_error".
3155 Remove errors symbol_not_found and no_relocation_info, which seem
3156 to be unused.
3157 * bfd-in2.h: Regenerated.
3158
0ee75d02
ILT
3159Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3160
fcc41f68
ILT
3161 * bfd.c (bfd_get_gp_size): Added support for ELF.
3162
0ee75d02
ILT
3163 * syms.c (BSF_DYNAMIC): New symbol flag.
3164 (bfd_print_symbol_vandf): Print it.
3165 * bfd-in2.h: Rebuilt.
3166 * libaout.h (struct aout_backend_data): New read_dynamic_symbols
3167 and read_dynamic_relocs fields.
3168 (struct aoutdata): New dynamic_info field.
3169 (obj_aout_dynamic_info): New accessor macro.
3170 * sunos.c (struct sunos_dynamic_info): New structure.
3171 (sunos_read_dynamic_info, MY(read_dynamic_symbols),
3172 MY(read_dynamic_relocs)): New functions to read dynamic symbols
3173 and relocs.
3174 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
3175 dynamically linked, set SEC_RELOC for both the .text and .data
3176 sections.
3177 (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
3178 undefined symbol.
3179 (translate_symbol_table): New function, split out of
3180 slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
3181 (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
3182 (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
3183 (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
3184 return value.
3185 * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
3186 out dynamic symbols or relocs against reloc symbols, since they
3187 are already in the .text section and we wouldn't know where to
3188 write them anyhow.
3189 (sunos4_aout_backend): Initialize read_dynamic_symbols and
3190 read_dynamic_relocs fields.
3191 * aout-target.h (MY(backend_data)): Initialize
3192 read_dynamic_symbols and read_dynamic_relocs fields.
3193
dc3da58f
KR
3194Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3195
3196 * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
3197 typedefs, since HOST_64_BIT will take care of defining them in
3198 bfd.h.
3199
7e7fb4a8
KR
3200Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3201
3202 * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
3203 that's dealt with elsewhere.
3204 * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
3205 (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
3206 they get copied to bfd.h.
3207
3208 * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
3209 types. Reorganized some of the existing ones.
3210 * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
3211 values in case of compilation on a 32-bit machine. Fix pcrel
3212 fields of some reloc types.
3213 (alpha_bfd_reloc_type_lookup): Handle more relocation types.
3214
3215 * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
3216 definitions when not defined, regardless of whether uint64_type is
3217 a defined macro or not.
3218 (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
3219 already defined.
3220
d7e34f67
ILT
3221Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3222
3223 * aoutx.h (translate_to_native_sym_flags): Set the type of a
3224 BSF_WARNING symbol to N_WARNING.
3225
53155af1
ILT
3226Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3227
3228 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
3229 for an indirect or warning symbol.
3230 (aout_link_write_symbols): Update sym_hash with the target of an
3a5b50f4
ILT
3231 indirect or warning symbol. If an indirect symbol is defined,
3232 output the calculated value and don't output the target symbol.
53155af1 3233
0c205af2
DM
3234Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3235
3236 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
3237 an (unused) nonzero section value, needed for check below.
3238
964affdc
DM
3239Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3240
3241 * aoutx.h (translate_from_native_sym_flags,
3242 aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
3243 N_SET[ABDT].
3244
38a5f510
ILT
3245Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3246
3247 * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
3248 the DYNAMIC flag for the BFD.
3249 (NAME(bfd_elf,write_object_contents)): Don't try to write out a
3250 BFD with the DYNAMIC flag set, since we don't generate the program
3251 header table correctly.
3252
3253Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3254
3255 * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
3256 of the function to avoid storage leak.
3257
75919b3b
ILT
3258Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3259
3260 * ecoff.c (ecoff_link_write_external): An ifd can be -1.
3261
39961154
JL
3262Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3263
9558d13f
JL
3264 * som.c (som_set_reloc_info): Provide a default symbol for
3265 relocations which don't actually have an associated symbol.
3266
39961154
JL
3267 * som.c (hppa_som_reloc): Add new "error message" argument.
3268
32476597
PS
3269Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3270
3271 Enable gdb to write to core files on more core file readers.
3272 * libbfd.c (bfd_generic_set_section_contents): Remove range check
3273 for section size, it is already done in bfd_set_section_contents
3274 with bfd_get_section_size_now.
3275 * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
3276 osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
3277 Use bfd_generic_set_section_contents instead of bfd_false.
3278
92f345b9
ILT
3279Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3280
39961154
JL
3281 * linker.c: Added initial documentation.
3282
92f345b9
ILT
3283 * linker.c (default_indirect_link_order): Don't expect space for
3284 output relocations if there aren't any input relocations.
3285
fed872d3
ILT
3286Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3287
c5481a5e
ILT
3288 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
3289 file offsets.
3290
fed872d3
ILT
3291 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
3292 STT_NOTYPE.
3293
b36b8a6e
JK
3294Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3295
3296 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
3297 Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
3298
cf286547
ILT
3299Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3300
3301 * ecofflink.c: Extensive changes to compress and merge debugging
3302 information, and to write some of out directly rather than saving
3303 it in memory. Several new functions and structures, and new
3304 arguments to existing functions.
3305 * ecoff.c (ecoff_compute_reloc_file_positions): Compute
3306 sym_filepos as well.
3307 (ecoff_get_extr): Use ifdmap instead of ifdbase.
3308 (ecoff_write_object_contents): Don't compute sym_filepos here.
3309 Only output symbols if outsymbols is not NULL.
3310 (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
3311 bfd_ecoff_debug functions. Write out debugging information here.
3312 (ecoff_final_link_debug_accumulate): Adjust for changes in
3313 bfd_ecoff_debug functions.
3314 (ecoff_link_write_external): Use ifdmap rather than ifdbase.
3315 * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
3316 first, to put them in the first memory buffer. Clear fdr field.
3317 (mips_elf_get_extr): Use pointer to unswapped external symbol.
3318 (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
3319 Preserve .text, .data and .bss even if they are empty. Save
3320 pointer to unswapped external symbol rather than copying it.
3321 Don't free up the external symbols.
3322 * libelf.h (elf_symbol_type): Change mips_extr to PTR.
3323 * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
3324 (bfd_ecoff_debug_accumulate): Update declaration.
3325 (bfd_ecoff_debug_accumulate_other): Rename declaration from
3326 bfd_ecoff_debug_link_other and update.
3327 (bfd_ecoff_write_accumulated_debug): Declare.
3328 * bfd-in2.h: Rebuilt.
3329 * Makefile.in: Rebuilt dependencies.
3330
2c96ba79
JK
3331Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3332
3333 * Makefile.in (install): Remove "@" which follows a backslash. In
3334 this position it just causes errors, not suppresses echoes.
3335
2304e1e8
JL
3336Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
3337
3338 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
3339 field selectors.
3340
fb4cf140
KR
3341Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3342
3343 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
3344
d44b2ddb
DM
3345Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
3346
5330499f
DM
3347 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
3348 end of data if they are not contiguous.
3349
d44b2ddb
DM
3350 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
3351
a5a835ff
ILT
3352Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3353
3354 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
3355 for .reginfo section here.
3356 (ecoff_new_section_hook): Set it here instead.
3357
442da995
SS
3358Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
3359
3360 * bfd-in.h: (bfd_boolean): Add workaround for systems that also
3361 define true and false as enums.
3362 (ALMOST_STDC): Add as alternative to __STDC__.
3363 * bfd-in2.h: Rebuilt.
3364 * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
3365
6f56c941
DM
3366Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3367
3368 * aoutx.h (translate_to_native_sym_flags): Catch the case where
3369 there is no output section.
3370
2f84ec0d
ILT
3371Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3372
90d58284
ILT
3373 * nlmcode.h (nlm_object_p): If we can't read the fixed header,
3374 count it as a wrong format error, not a system call error, since
3375 the object file might simply be too small.
3376
3377 * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
3378 BFD64.
3379 * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
3380 (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
3381 support, even though it is for an Alpha in 32 bit mode.
3382 * configure.in (nlm32_alpha_vec): Set target64 to true.
3383
3384 * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
3385 different, so there is no point to providing a generic one.
3386 * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
3387 in the backend accessor macros; that should no longer be possible.
3388 * targets.c (target_vector): Removed nlm32_big_generic_vec,
3389 nlm64_big_generic_vec, nlm64_little_generic_vec.
3390 * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
3391 nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
3392 * Makefile.in: Rebuilt dependencies, and
3393 (BFD32_BACKENDS): Removed nlm32-gen.o.
3394 (BFD64_BACKENDS): Removed nlm64-gen.o.
3395 (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
3396
559d5074
ILT
3397 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
3398
2f84ec0d
ILT
3399 * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
3400 bitsize arguments. Changed all callers (aoutx.h).
3401 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
3402 and bitsize arguments to declaration.
3403 * libbfd.h: Rebuilt.
3404
3405 * ecoff.c: First cut at new style of linker backend for
3406 ECOFF--added a bunch of functions. Also:
3407 (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
3408 (ecoff_slurp_symbolic_header): New function.
3409 (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
3410 (ecoff_compute_reloc_file_positions): New function.
3411 (ecoff_set_section_contents): Get out quickly if count is zero.
3412 Check errors better.
3413 (ecoff_write_object_contents): Put .xdata section in data segment.
3414 Call ecoff_compute_reloc_file_positions. Don't output relocs or
3415 external symbols if outsymbols is NULL.
3416 (ecoff_bfd_final_link): Completely rewritten.
3417 * libecoff.h: Include bfdlink.h.
3418 (struct ecoff_backend_data): Add relocate_section field.
3419 (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
3420 (struct ecoff_link_hash_entry): Define.
3421 (struct ecoff_link_hash_table): Define.
3422 (ecoff_bfd_link_add_symbols): Declare as function, not macro.
3423 (ecoff_bfd_link_hash_table_create): Likewise.
3424 * ecofflink.c (bfd_ecoff_debug_one_external): New function.
3425 (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
3426 * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
3427 * bfd-in2.h: Rebuilt.
3428 * coff-alpha.c (alpha_howto_table): Mark BRADDR as
3429 partial_inplace, and set the src_mask to 0x1fffff.
3430 (alpha_ecoff_get_relocated_section_contents): Remove unused
3431 variable gp_warned.
3432 (alpha_convert_external_reloc): New static function.
3433 (alpha_relocate_section): New static function.
3434 (alpha_ecoff_backend_data): Initialize relocate_section field.
3435 * coff-mips.c (mips_relocate_refhi): New static function.
3436 (mips_relocate_section): New static function.
3437 (mips_ecoff_backend_data): Initialize relocate_section field.
3438
3439 * reloc.c (_bfd_relocate_contents): Corrected signed overflow
3440 checking when there is an addend.
3441
3442 * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
3443 a non a.out file, just pass it to _bfd_default_link_order.
3444 (aout_link_input_section_std): When doing a final PC relative link
3445 against a section symbol, subtract the VMA of the input section.
3446 (aout_link_input_section_ext): Likewise.
3447
3448 * linker.c (default_indirect_link_order): Renamed from
3449 _bfd_generic_indirect_link_order and made static.
3450 (_bfd_generic_final_link): Don't switch on link_order type, just
3451 call _bfd_default_link_order.
3452 (_bfd_default_link_order): Handle bfd_indirect_link_order type.
3453 * genlink.h: Removed declaration of
3454 _bfd_generic_indirect_link_order.
3455 * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
3456 type, just call _bfd_default_link_order.
3457
3458Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
3459
3460 * linker.c (generic_link_check_archive_element): Base the name of
3461 the created common section on the name of the section the symbol
3462 came from.
3463 (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
3464 must have a section, so don't bother to create one.
3465
83acd9a2
DM
3466Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3467
3468 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
3469 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
3470 If the DYNAMIC flag is set, set it in the exec header.
3471 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
3472 dynamically linked, set the DYNAMIC flag in the BFD.
3473 * libaout.h (N_SET_DYNAMIC): New macro.
3474 (N_DYNAMIC): Add missing 0 in mask.
3475
031534b0
ILT
3476Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3477
2f84ec0d
ILT
3478 * ecoff.c (ecoff_get_extr): Don't output section symbols as
3479 external symbols.
3480
85d73944
ILT
3481 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
3482 to unsigned int, because size_t may not be defined in bfd.h.
3483 * bfd-in2.h: Rebuilt.
3484
8120aa8f
ILT
3485 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
3486 be a const pointer.
3487 * bfd-in2.h: Rebuilt.
3488 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
3489 be a const pointer.
3490 * targets.c (bfd_target): Change swap function pointers
3491 accordingly.
3492 * archive.c (do_slurp_coff_armap): Change swap accordingly.
3493 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
3494 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
3495 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
3496 accordingly.
3497
b59f0276
ILT
3498 * libbfd-in.h (struct artdata): Added tdata field.
3499 (_bfd_add_bfd_to_archive_cache): Declare.
2af2b7c4 3500 (_bfd_get_elt_at_filepos): Declare.
b59f0276
ILT
3501 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
3502 * libbfd.h: Rebuilt.
3503 * archive.c: Cleaned up some more.
3504 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
3505 pointer elements of artdata.
3506 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
3507 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
2af2b7c4
ILT
3508 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
3509 (get_extended_arelt_filename, bfd_construct_extended_name_table,
3510 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
b59f0276
ILT
3511 * ecoff.c: Some comment changes.
3512 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
3513 ardata->tdata to raw_armap.
3514 (ecoff_archive_p): Initialize pointer elements of artdata.
3515 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
3516 add_bfd_to_cache.
3517
031534b0
ILT
3518 * hash.c: Added some documentation.
3519
3f99570e
JK
3520Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3521
3522 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
3523 and do the swapping here rather than calling ntohl from the N_*
3524 macros. This cleans up assumptions about the size of a host long,
3525 the existence to ntohl, etc.
3526
e38bcbdb
RS
3527Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
3528
3529 * config.bfd: Add support for VSTa micro-kernel. It currently uses
3530 i386-aout.
3531
f4d7c848
DM
3532Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3533
00fe3f53 3534 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
f4d7c848
DM
3535 * i386mach3.c (SEGMENT_SIZE): Fix value.
3536
728472f1
ILT
3537Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3538
3539 Minor cleanups suggested by CodeCenter.
3540 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
3541 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
3542 appropriate.
3543 * aoutx.h (struct external_exec): Removed unnecessary declaration.
3544 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
3545 (adjust_z_magic): Removed useless variable data_vma.
3546 (stringtab_init): Initialize hash_zero.
3547 (add_to_stringtab): Removed unused fourth argument.
3548 (NAME(aout,swap_std_reloc_out)): Removed useless variable
3549 r_addend.
3550 (aout_link_input_section): Added some casts.
3551 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
3552 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
3553 Minor code rewriting to make it more C like.
3554 (do_slurp_bsd_armap): Added some casts.
3555 * ecoff.c (ecoff_write_object_contents): Removed useless variable
3556 scn_base.
3557 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
3558 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
3559 * libaout.h (struct internal_exec): Removed unnecessary
3560 declaration.
3561 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
3562 * opncls.c (new_bfd): Removed a cast.
3563 * reloc.c (bfd_generic_get_relocated_section_contents): Added
3564 some casts.
3565 * srec.c (internal_srec_write_object_contents): Removed useless
3566 variable bytes_written.
3567
696df58f
DM
3568Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3569
3570 * i386mach3.c (N_TXTADDR): Don't define after all.
3571 (TEXT_START_ADDR): Don't include exec header size in value.
3572
e450eb45
DM
3573Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3574
3575 * i386mach3.c (N_TXTADDR): Define.
3576
4c3721d5
ILT
3577Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3578
3579 Extensive changes to move the bulk of the linker into BFD so that
3580 more efficient backend code can be written for specific object
3581 files. Only existing efficient backend is a.out.
3582 * seclet.c, seclet.h: Removed.
3583 * hash.c, linker.c, genlink.h: New files.
3584 * bfd-in.h: Removed bfd_error_vector. Declared hash table
3585 structures and functions.
3586 (JUMP_TABLE): Removed bfd_seclet_link, added
3587 bfd_link_hash_table_create, bfd_link_add_symbols and
3588 bfd_final_link.
3589 * All backends: Changed accordingly.
3590 * bfd-in2.h: Rebuilt.
3591 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
3592 Removed ld_symbols field.
3593 (bfd_nonrepresentable_section, bfd_undefined_symbol,
3594 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
3595 bfd_error_vector): Removed.
3596 (bfd_default_error_trap, bfd_error_trap,
3597 bfd_error_nonrepresentabltrap): Removed.
3598 (bfd_get_relocated_section_contents): Pass link_info. Pass
3599 link_order instead of seclet. Pass symbols.
3600 (bfd_relax_section): Pass link_info.
3601 (bfd_seclet_link): Removed.
3602 (bfd_link_hash_table_create, bfd_link_add_symbols,
3603 bfd_final_link): New macros.
3604 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
3605 alloca as __builtin_alloca. Declare internal linking functions.
3606 * libbfd.h: Rebuilt.
3607 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
3608 for months.
3609 * reloc.c (reloc_howto_type): Added error_message argument to
3610 special_function field. Changed all callers and all definitions.
3611 (bfd_get_reloc_size): Make argument a const pointer.
3612 (bfd_perform_relocation): Add error_message argument to hold
3613 string set if return value if bfd_reloc_dangerous. Changed all
3614 callers.
3615 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
3616 * section.c (asection): Renamed seclets_head and seclets_tail to
3617 link_order_head and link_order_tail.
3618 * targets.c (bfd_target): Replaced seclet argument with link_info
3619 and link_order and symbols arguments in
3620 bfd_get_relocated_section_contents. Added symbols argument to
3621 bfd_relax_section. Removed bfd_seclet_link. Added
3622 bfd_link_hash_table_create, bfd_link_add_symbols and
3623 bfd_final_link.
3624 * libaout.h (struct aoutdata): Added external_syms,
3625 external_sym_count, external_strings, sym_hashes fields.
3626 (obj_aout_external_syms, obj_aout_external_sym_count,
3627 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
3628 macros.
3629 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
3630 * aoutx.h: Wrote new back end linker routines.
3631 (translate_to_native_sym_flags): Return boolean value. Don't use
3632 bfd_error_vector.
3633 (NAME(aout,write_syms)): Return boolean value. Check return value
3634 of translate_to_native_sym_flags and bfd_write.
3635 * aout-target.h (final_link_callback): New function.
3636 (MY_bfd_final_link): New function.
3637 * aout-adobe.c (aout_adobe_write_object_contents): Check return
3638 value of aout_32_write_syms.
3639 * hp300hpux.c (MY(write_object_contents)): Likewise.
3640 * i386lynx.c (WRITE_HEADERS): Likewise.
3641 * libaout.h (WRITE_HEADERS): Likewise.
3642 * bout.c: Changed functions to use link_info->callbacks rather
3643 than bfd_error_vector, and link_orders rather than seclets.
3644 * coff-alpha.c: Likewise.
3645 * coff-h8300.c: Likewise.
3646 * coff-h8500.c: Likewise.
3647 * coff-sh.c: Likewise.
3648 * coff-z8k.c: Likewise.
3649 * elf32-hppa.c: Likewise.
3650 * reloc16.c: Likewise.
3651 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
3652 up _gp in the hash table rather than in outsymbols.
3653 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
3654 argument rather than printing them.
3655 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
3656 link_order arguments rather than seclet. Changed all uses and
3657 definitions.
3658 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
3659 all uses and definitions.
3660 * libcoff.h: Rebuilt.
3661 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
3662 not by ECOFF, make it scAbs.
3663 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
3664 rewritten.
3665 * elf32-mips.c (mips_elf_final_link): Renamed from
3666 mips_elf_seclet_link and rewritten.
3667 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
3668 field.
3669 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
3670 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
3671 Added link_info arguments. Changed all callers.
3672 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
3673 not NULL.
3674 * oasys.c (oasys_write_sections): Return boolean value rather than
3675 using bfd_error_vector.
3676 (oasys_write_object_contents): Check return value of
3677 oasys_write_sections.
3678 * hosts/std-host.h: Don't declare qsort or strtol.
3679 * Makefile.in: Rebuild dependencies.
3680 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
3681 (CFILES): Removed seclet.c. Added hash.c and linker.c.
3682 (HFILES): Removed seclet.h. Added genlink.h.
3683
1adbf662
PS
3684Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3685
3686 * section.c (bfd_get_section_contents): Return zero filled buffer
3687 if section has no contents.
3688
d1b44e83
ILT
3689Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3690
3691 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
3692 then skip bfd_perform_relocation even if the addend is non-zero.
3693
a2805287
KR
3694Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
3695
3696 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
3697 addend to r_offset field.
3698
3699 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
3700
3701 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
3702 CALC_ADDEND): Define.
3703
3704 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
3705 the offsetof because AIX /bin/cc does not like to take the address
3706 of an array. (From Minh Tran-Le.)
3707
277b2d2b
JL
3708Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3709
a2805287
KR
3710 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
3711
3712 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
3713 the return pointer into %r2 if no jump-in-call-delay-slot
3714 optimization was done.
3715
277b2d2b
JL
3716 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
3717
f8af9b40
DM
3718Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3719
3720 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
3721
3722 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
3723 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
3724
3725 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
3726 (TEXT_START_ADDR): Correct.
3727 (MY_backend_data): Define.
3728
3729 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
3730 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
3731
c97ae6e4
JL
3732Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3733
3734 * som.c (som_begin_writing): Fix thinkos in auxiliary header
3735 support.
3736 (bfd_som_attach_aux_hdr): Likewise.
3737
a36b6f1d
JL
3738Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3739
3740 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
3741 selectors for PIC code.
3742
3743 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
3744 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
3745 relocations needed by PIC.
3746
9e6f2498
SG
3747Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
3748
3749 * nlmcode.h: Fixes to avoid compiler warnings...
3750
900e6d96
ILT
3751Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
3752
3753 * libnlm.h (nlm_backend_data): Removed macro definition.
3754 (nlm_alpha_backend_data): Adjusted accordingly.
3755
017a52d7
JL
3756Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3757
f6c2300b
JL
3758 * som.c (som_begin_writing): Flesh out code for handling simple
3759 auxiliary headers.
3760 (bfd_som_attach_aux_hdr): New function.
3761
3762 * som.h (struct somdata): Add fields for attaching version and
3763 copyright headers. Add accessor macros.
3764
744069b8
JL
3765 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
3766 definitions for old versions of HPUX which fail to define them.
3767 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
3768 now that they're safe. Delete bogus R_STATEMENT relocations.
3769
017a52d7
JL
3770 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
3771 extra R_DATA_OVERRIDE.
3772 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
3773 mode selector if needed.
3774 (som_write_fixups): Handle requests for a change in the default
3775 rounding mode. Rounding modes do not consume input bytes, but
3776 are just markers much like R_ENTRY and R_EXIT.
3777
48eb5281
JL
3778Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3779
3780 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
3781
017a52d7
JL
3782 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
3783 the branch instruction as originally been nullified.
3784 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
3785 case of no code reordering due to an LDO instruction in the
3786 delay slot of the branch. Make sure to relocate the correct
3787 instruction. Do not perform instruction reordering for millicode
3788 calls.
3789 (hppa_elf_build_arg_reloc_stub): Change the relocation type
3790 to R_HPPA_STUB_CALL_17 when special processing might be needed.
3791 (hppa_elf_build_long_branch_stub): Prevent code reordering on
3792 a call from a linker stub to another linker stub and for millicode
3793 calls. Do not trash the return register for calls from one linker
3794 stub to a second linker stub.
3795
4861ac76
JL
3796 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
3797 relocations are not pc-relative.
3798
48eb5281
JL
3799 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
3800 linker stub code.
3801 (COPY_2_31): Likewise.
3802
ecb2d887
ILT
3803Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3804
3805 * config/solaris2.mh (HDEFINES): Remove -Dconst=
3806 * hosts/solaris.h: If not __GNUC__, define const as empty.
3807
800748cd
ILT
3808Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3809
4919d3ab
ILT
3810 * ecoff.c: Added various casts for 32/64 bit cross targeting.
3811 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
3812 section so that the linker ignores it.
3813 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
3814 (ecoff_add_bytes): Changed need argument to size_t.
3815 (bfd_ecoff_debug_link_other): Check return value of
3816 ecoff_add_string.
3817
3818 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
3819 list.
3820 * libbfd.h: Rebuilt.
3821
800748cd
ILT
3822 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
3823 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
3824 (struct nlm_backend_data): New field no_uninitialized_data.
3825 (nlm_no_uninitialized_data): New accessor macro.
3826 * nlmcode.h (nlm_compute_section_file_positions): Handle
3827 no_uninitialized_data.
3828 (nlm_external_reloc_compare): Sort relocs by address for a
3829 particular symbol, to make the sort more stable.
3830 (nlm_write_object_contents): Cast the arguments to qsort. Get the
3831 value of a debugging symbol the same way we get the value of a
3832 normal symbol.
3833 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
3834 Set no_uninitialized_data to true.
3835 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
3836 (nlm32_sparc_backend): Set no_uninitialized_data field false.
3837 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
3838 before filling it in.
3839
a7f6a456
JL
3840Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3841
3842 * som.c (som_section_type, som_decode_symcalss): New functions.
3843 (som_get_symbol_info): Use them.
3844 (som_slurp_symbol_table): Set the section of common and undefined
3845 symbols correctly.
3846
848ace96
KR
3847Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
3848
3849 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
3850 make gcc happy.
3851
3852 * mipsbsd.c: Changes from Ralph Campbell:
3853 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
3854 complain_overflow_dont.
3855 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
3856 make gdb happy.
3857
3858 * bfd.c (bfd_errmsgs): Reword invalid-target message.
3859
3860 * config.bfd: For sparc*-*-coff, use sparc-coff.
3861 * configure.in: Handle sparccoff_vec.
3862 * targets.c (sparccoff_vec): Declare.
3863
3864 * reloc.c (bfd_get_reloc_size): New function.
3865 (struct reloc_howto_type): Update documentation of size field.
3866
2f555d79
ILT
3867Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3868
68eaffda
ILT
3869 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
3870 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
3871 * config/alpha-nlm.mt: New file.
3872 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
3873 nlm32.o, and nlm.o.
3874 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
3875 (CFILES): Added nlm32-alpha.c.
3876 Rebuilt dependencies.
3877 * targets.c (nlm32_alpha_vec): Declare.
3878
3879 * libnlm.h (struct nlm_backend_data): New fields
3880 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
3881 nlm_set_public_section, nlm_get_public_offset. Removed unused
3882 nlm_write_reloc field. Changed nlm_write_import to remove
3883 unnecessary symbol argument. Renamed nlm_write_externals to
3884 nlm_write_external, and changed cound argument from bfd_vma to
3885 bfd_size_type.
3886 (nlm_optional_prefix_size, nlm_backend_object_p_func,
3887 nlm_write_prefix_func, nlm_set_public_section_func,
3888 nlm_get_public_offset_func): New accessor macros.
3889 (nlm_write_reloc_func): Removed.
3890 (nlm_write_external_func): Adjusted for field renaming.
3891 * nlm32-i386.c (nlm_i386_write_import): Renamed from
3892 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
3893 just called old nlm_i386_write_reloc.
3894 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
3895 Declared. Changed second argument from bfd_vma to bfd_size_type.
3896 (nlm32_i386_backend): Adjusted for changes to fields and names.
3897 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
3898 ifdeffed out code.
3899 (nlm_sparc_write_import): Removed second argument.
3900 (nlm_sparc_write_external): Renamed from
3901 nlm_sparc_write_externals. Changed second argument from bfd_vma
3902 to bfd_size_type.
3903 (nlm32_sparc_backend): Adjusted for changes to fields and names.
3904 * nlmcode.h: Removed some unused code.
3905 (nlm_object_p): Don't destroy tdata pointer. Call
3906 backend_object_p function if it exists.
3907 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
3908 set_public_section_func if it exists instead of checking
3909 NLM_HIBIT.
3910 (nlm_compute_section_file_positions): Account for
3911 optional_prefix_size.
3912 (nlm_write_object_contents): Account for optional_prefix_size.
3913 Removed useless variable write_reloc_func. Changed declaration
3914 and call of write_import_func. Call write_prefix_func if it
3915 exists. Removed unused variables len and temp. Call
3916 get_public_offset_func if it exists rather than setting NLM_HIBIT.
3917 * nlmswap.h: Declare functions.
3918
2f555d79
ILT
3919 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
3920 for clarity.
3921 (fprintf_vma, sprintf_vma): Use %lx, not %x.
3922 * bfd-in2.h: Rebuilt.
3923 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
3924 to unsigned long.
3925
3926 * config.bfd: Don't set target64 here, as the setting is ignored.
3927 * configure.in (ecoffalpha_little_vec): Set target64.
3928
3929 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
3930 in TDEFINES is wrong.
3931
3932 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
3933 Remove unused variable output_section.
3934
7cd39d69
ILT
3935Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3936
3937 * irix-core.c: New file for Irix 4 and Irix 5 core support.
3938 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
3939 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
3940 * targets.c: If IRIX_CORE defined, include irix_core_vec in
3941 target_vector.
3942 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
3943 (HDEPFILES): Define to be irix-core.o.
3944 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
3945 (HDEPFILES): Define to be irix-core.o.
3946 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
3947 sco-core.o, which no longer exists.
3948 (CFILES): Added all *-core.c files.
3949 Rebuilt dependencies.
3950
8d12f138
ILT
3951Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3952
6c35a16d
ILT
3953 * elfcode.h (map_program_segments): Restore check of file_size !=
3954 mem_size, but only if SHT_PROGBITS.
3955
8d12f138
ILT
3956 * ecofflink.c: New file to hold ECOFF debug information linking
3957 routines.
3958 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
3959 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
3960 ecofflink.c.
3961 (ecoff_get_extr, ecoff_set_index): New functions.
3962 (ecoff_slurp_symbolic_info): Don't save raw_size.
3963 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
3964 (ecoff_compute_section_file_positions): Don't set EXEC_P just
3965 because there is a start address.
3966 (ecoff_write_object_contents): Handle external symbols here. Use
3967 ecofflink.c functions to write out debugging information.
3968 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
3969 mips_elf_set_index): New functions.
3970 (mips_elf_seclet_link): Discard empty sections, the .options
3971 section and .gptab sections. Handle linking .mdebug section.
3972 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
3973 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
3974 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
3975 called by gas, so they are public).
3976 * bfd-in2.h: Rebuilt.
3977 * Makefile.in (BFD_LIBS): Added ecofflink.o.
3978 (CFILES): Added ecofflink.c.
3979 (ecofflink.o): New target. Rebuilt dependencies.
3980
abb324b2
JL
3981Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3982
3983 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
3984 a valid magic number if it's been defined.
3985
8f45f604
ILT
3986Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3987
3988 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
3989 no longer requires it.
3990 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
3991 ecoff_write_object_contents): Don't treat .scommon section
3992 specially.
3993
c236d8b3
FF
3994Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
3995
3996 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
3997 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
3998 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
3999 * bfd/ptrace-core.c: New file for dealing with core files with
4000 start with the ptrace_user structure found on BCS compliant systems.
4001 * bfd/targets.c (ptrace_core_vec): New vector.
4002
36456a67
JL
4003Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4004
4005 * Minimal support for reading SOM fixup streams. Allows
4006 objdump -r to do something reasonable.
4007 * som.c (som_get_reloc_upper_bound): Implement.
4008 (som_canonicalize_reloc): Implement.
4009 (som_set_reloc_info, som_slurp_reloc_table): New functions.
4010
8d12f138
ILT
4011Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4012
4013 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
4014 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
4015
a1bff336
ILT
4016Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4017
533af031
ILT
4018 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
4019 signed_value before sign extending it. Don't subtract out
4020 reloc_entry->address. This makes it compatible with what gas is
4021 generating.
4022
a1bff336
ILT
4023 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
4024 SHT_NOBITS sections.
4025 (map_program_segments): Don't leave the loop after the first
4026 SHT_NOBITS section.
4027 (assign_file_positions_except_relocs): Only force sh_offset and
4028 sh_addr to match modulo maxpagesize for a section which is not
4029 SHT_NOBITS. Changed the method used to force page alignment after
4030 a SHT_NOBITS section to only do it for the last such consecutive
4031 section, and to really force page alignment.
4032
96be1f52
KR
4033Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4034
4c01d9b5
KR
4035 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
4036 in the case of an unknown (or unhandled) storage class.
4037
96be1f52
KR
4038 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
4039 not be defined here, since it is a host attribute, not a target
4040 one.
4041 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
4042
4043 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
4044 defined.
4045
4046 * coff-sparc.c: Define some relocations, based on ELF relocations.
4047 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
4048 struct coff_reloc_map, sparc_reloc_map,
4049 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
4050 elf.c, renamed.
4051 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
4052 (rtype2howto): Index into coff_sparc_howto_table using
4053 dst->r_type.
4054
f8944f84
ILT
4055Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4056
4057 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
4058 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
4059 hosts/irix5.h created; just use std-host.h).
4060 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
4061 -lmalloc.
4062 * Makefile.in: Rebuilt dependencies.
4063
4064 * ecoffswap.h: Changed type of internal pointers for swap out
4065 functions to const *.
4066
4067 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
4068 correctly for assembler, but linker support not implemented.
4069 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
4070 (mips_elf_sym_is_global): New function; at least on Irix 5, all
4071 non section symbols are considered global.
4072 (elf_backend_sym_is_global): Define.
4073 (mips_elf_final_write_processing): New function. Set the MIPS
4074 architecture level correctly.
4075 (elf_backend_final_write_processing): Define.
4076 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
4077 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
4078 section to 1. Handle .options section.
4079 (mips_elf_acom_section, mips_elf_acom_symbol,
4080 mips_elf_acom_symbol_ptr): New static variables, used to build a
4081 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
4082 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
4083 putting them all in a global .acommon section.
4084
4085 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
4086 section has no ELF section data.
4087 (elf_make_sections): Set addralign of reloc section to 4.
4088 (elf_fake_sections): Likewise.
4089 (map_program_segments): Don't consider section 0.
4090 (assign_file_positions_except_relocs): Don't consider section 0.
4091 In the main loop, skip the symtab and strtab sections, since their
4092 positions are set elsewhere.
4093 (swap_out_syms): Set addralign of symtab section to 4. Set
4094 addralign of strtab sections to 1.
4095 (assign_file_positions_for_relocs): Don't consider section 0.
4096 (write_object_contents): Don't write out section 0.
4097
4098 * libelf.h (struct elf_backend_data): Added fields
4099 elf_backend_sym_is_global and elf_backend_final_write_processing.
4100 * elf32-target.h (elf32_bed): Added corresponding initializers.
4101 * elf64-target.h (elf64_bed): Likewise.
4102 * elfcode.h (sym_is_global): Take abfd argument. Call
4103 elf_backend_sym_is_global if it is not NULL.
4104 (elf_map_symbols): Pass abfd to sym_is_global.
4105 (write_object_contents): Call elf_backend_final_write_processing
4106 if it is defined.
4107
c9668c58
ILT
4108Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4109
4110 * libecoff.h: Include coff/ecoff.h.
4111 (struct ecoff_backend_data): Move external debugging information
4112 fields into a single field pointing to an ecoff_debug_swap
4113 structure.
4114 (ecoff_data_type): Move debugging information fields into a single
4115 field pointing to an ecoff_debug_info structure.
4116 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
4117
2f555d79
ILT
4118Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
4119
4120 * nlmswap.h: New file to swap fixed header. Included by NLM
4121 backends.
4122 * libnlm.h (struct reloc_and_sec): Define.
4123 (struct nlm_backend_data): Add fields fixed_header_size,
4124 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
4125 nlm_swap_fhdr_out.
4126 (nlm_fixed_header_size, nlm_read_import_func,
4127 nlm_write_import_func, nlm_swap_fixed_header_in_func,
4128 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
4129 accessor macros.
4130 * nlmcode.h: Use new functions.
4131 * nlm32-i386.c: Provide new functions.
4132 * nlm32-sparc.c: New file; SPARC NLM backend.
4133
55ff7aef
SS
4134Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
4135
4136 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
4137 garbage bits appearing in the upper end of symbolnums.
4138
4139 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
4140
343c1a96
SG
4141Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
4142
4143 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
4144 * m68klynx.c: Define core file macros.
4145 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
4146 non-architecture specific stuff into lynx.h.
4147
794057a7
JK
4148Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
4149
4150 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
4151 change PAGE_SIZE to 4096.
4152
4153Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
4154
4155 * Makefile.in (diststuff): New target.
4156
4157 * VERSION: Updated.
4158
09796011
JL
4159Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4160
3be54498
JL
4161 * som.c (som_object_setup): Do not create dummy ".text", ".data",
4162 and ".bss" sections.
4163 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
4164 is zero. Recognize BSS type sections and turn off SEC_LOAD and
4165 SEC_DATA (so binutils/size works). Set the correct value for
4166 a section's _raw_size.
4167 (som_slurp_symbol_table): Program entry points, and millicode are
4168 also functions. Mark them as such. Also mark L$* symbols as
4169 debugging symbols.
4170
09796011
JL
4171 * bfd-in2.h: Rebuilt.
4172
aff97790
JL
4173Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4174
91c0bcbb
JL
4175 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
4176 a pointer to constant data. Delete bogus #define which made the
4177 function useless.
4178
aff97790 4179 * som.c (som_prep_for_fixups): New function.
9d0dea6f 4180 (som_write_fixups): New function.
0b35f7ec 4181 (som_write_space_strings): New function.
6eb64408
JL
4182 (som_write_symbol_strings): New function.
4183 (som_begin_writing): New function.
aff97790 4184
40249bfb
JL
4185Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4186
980bac64
JL
4187 * som.c (som_write_object_contents): Do not abort. Flesh out.
4188 (som_set_section_contents): Do not abort. Flesh out.
4189
efc0df7c
JL
4190 * som.c (som_write_headers): New function.
4191 (som_prep_headers): New function.
713de7ec 4192 (som_build_and_write_symbol_table): New function.
7057b78f 4193
2212ff92
JL
4194 * som.c (som_sizeof_headers): Add missing prototype.
4195 (som_set_arch_mach): Do not abort.
4196
5532fc5a
JL
4197 * som.c (som_count_spaces): New function.
4198 (som_count_subspaces): New function.
4199 (compare_syms): New function.
4200 (som_compute_checksum): New function.
4201
32619c58
JL
4202 * som.c (hppa_som_gen_reloc_type): New function.
4203 (som_bfd_reloc_type_lookup): New function.
4204
54bbfd37
JL
4205 * som.c (try_prev_fixup): New function.
4206 (som_reloc_skip): New function.
4207 (som_reloc_addend): New function.
efc0df7c 4208 (som_reloc_call): New function.
54bbfd37 4209
d125665c
JL
4210 * som.c (som_initialize_reloc_queue): New function.
4211 (som_reloc_queue_insert): Likewise.
4212 (som_reloc_queue_fix): Likewise.
4213 (som_reloc_queue_find): Likewise.
4214
fcb0c846
JL
4215 * som.c (som_hppa_howto_table): SOM howto relocation table.
4216 (hppa_som_reloc): New function.
4217
4fdb66cd
JL
4218 * som.c (struct reloc_queue): New structure to keep track of
4219 the last four multibyte relocations emitted.
4220 (enum pa_symbol_type): Type to fully describe the symbol types
4221 associated with .import/.export assembler directives.
4222
70f1d738
JL
4223 * som.c: Include libhppa.h
4224
40249bfb
JL
4225 * som.c (bfd_som_set_section_attributes): New function.
4226 (bfd_som_set_subsection_attributes): Likewise.
4227 (bfd_som_set_symboL_type): Likewise.
4228 (bfd_som_attach_unwind_info): Likewise.
4229 * som.h: Declare new exported functions.
4230
4231 * som.h (struct som_symbol): Add new fields to hold additional
4232 information needed to build/write symbol tables and fixup streams.
4233 (struct som_section_data_struct): Add new fields to hold additional
4234 information needed to build/write space and subspace headers.
4235 (som_symbol_data): New accessor macro for SOM symbol information.
4236 (R_HPPA_*): Basic relocation types to be used by the assembler.
4237
115f7430
JK
4238Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
4239
4240 * trad-core.c (trad_unix_core_file_p): If new hook
4241 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
4242 corefile being too big.
4243 * hosts/i386sco.h: Define it.
4244
3e80841e
JL
4245Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4246
8a71bf96
JL
4247 * bfd.c (struct _bfd): Add hppabsd_core_data.
4248 * targets.c (target_vector): Add hppabsd_core_vec.
4249 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
4250 section is encountered during core section scanning.
4251 * hppabsd-core.c: New file.
4252 * config/hppabsd.mh: Enable HPPA BSD core files.
4253
3e80841e
JL
4254 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
4255 which is either commented out or ifdef'd out. Add, update and
4256 clean comments. Fix various indention and spacing problems. Handle
4257 problems related to using "ble" to jump to a stub rather than "bl"
4258 (%r31 is trashed by "ble", but not by "bl").
4259 (NEW_INSTRUCTION): Put inside curly braces.
4260 (CURRENT_STUB_OFFSET): Fix indention problems.
4261 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
4262 Add, update and clean comments. Handle "ble" %r31 lossage problems.
4263 (hppa_elf_build_long_branch_stub): Likewise.
4264 (hppa_look_for_stubs_in_section): Likewise.
4265 (hppa_elf_stub_check): Remove obsolete function.
4266
4267 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
4268 problems. Delete unused instructions.
4269
0f5bc783
SS
4270Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
4271
4272 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
4273
95469b02
ILT
4274Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4275
346f0414
ILT
4276 * elfcode.h (elf_object_p): Rather than looking through an array
4277 of architectures, get the ELF EM_xxx code from the backend
4278 information. Let the generic ELF target match any EM_xxx code not
4279 matched by another ELF target. Call elf_backend_object_p to let
4280 the backend do more checks and set global information.
4281 * libelf.h (struct elf_backend_data): Added elf_machine_code and
4282 elf_backend_object_p fields.
4283 (struct bfd_elf_arch_map): Removed.
4284 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
4285 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
4286 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
4287 field with elf_backend_object_p (if it is defined).
4288 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
4289 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
4290 elf64-gen.c (ELF_MACHINE_CODE): Defined.
4291 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
4292 routines.
4293 (mips_elf_object_p): Set the right machine number.
4294 (mips_elf_ecoff_debug_swap): Defined.
4295 (elf_backend_object_p): Defined to be mips_elf_object_p.
4296 (elf_backend_ecoff_debug_swap): Defined to be
4297 mips_elf_ecoff_debug_swap.
4298 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
4299
4300 * libbfd-in.h (target_vector, default_vector): Declare.
4301 * libbfd.h: Rebuilt.
4302 * format.c (target_vector, default_vector): Don't declare.
4303
4304 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
4305 for R_MIPS_26. Correct overflow detection requires matching the
4306 upper four bits of the destination against the PC. From Ted Lemon
4307 <mellon@pepper.ncd.com>.
4308
4309 * bout.c (b_out_reloc_type_lookup): Return type should point to
4310 const data.
4311 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
4312 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
4313 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
4314 * coff-i386.c (coff_i386_reloc): Made howto const.
4315 * oasys.c (oasys_write_data): Made how const.
4316
95469b02
ILT
4317 * libelf.h: Added some comments.
4318 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
4319 field. Removed unused write_relocs field.
4320 * elf32-target.h: Adjusted elf_backend_data initialization
4321 accordingly.
4322 * elf64-target.h: Corrected elf_backend_data initialization to
4323 fill in all fields and to set elf_64_p to 1.
4324
e2756048
ILT
4325Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4326
7b8106b4
ILT
4327 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
4328 to filepos in SHT_STRTAB case.
4329 (assign_file_position_for_section): Set BFD section filepos as
4330 well as ELF section sh_offset.
4331
e2756048
ILT
4332 * reloc.c: Use const instead of CONST.
4333 (bfd_perform_relocation): Make variable howto a const pointer.
4334 * bfd-in2.h, libbfd.h: Rebuilt.
4335
4336Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
4337
4338 * Makefile.in (realclean): Don't remove generated headers. Reverts
4339 change of 2 Jul 1993.
4340
007455de
DHW
4341Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
4342
4343 * configure.bfd: make unixware equivalent to sysv4.
4344
4345 * config/i386-nlm.mt: bring in elf config; make it the default.
4346
1d3e8847
JL
4347Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4348
4349 * libbfd.c (bfd_put_8): Add parens around reference to "val"
4350 argument.
4351
2ccb88c0
DM
4352Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
4353
4354 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
4355 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
4356
0f396d2a
ILT
4357Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4358
4359 * coffcode.h (coff_write_object_contents): Zero out internal_a.
4360
c188b0be
DM
4361Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
4362
4363 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
4364 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
4365 section.c, syms.c, targets.c:
4366 Doc cleanup (spelling, punctuation, grammar, formatting).
4367 * bfd-in2.h, libbfd.h: Rebuild.
c188b0be 4368
baf205c4
JG
4369Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
4370
4371 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
4372 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
4373
fa8e8648
JL
4374Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
4375
4376 * From Pete Hoogenboom (hoogen@cs.utah.edu)
4377 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
4378 in last change. Always rebuild symbol extension section the first
4379 time though if output sections exist (fixes ld -r problems).
4380
d5d53b0a
JW
4381Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
4382
4383 * Makefile.in: Add .PHONY for check and installcheck rules.
4384
4385Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
4386
4387 * libbfd-in.h (artdata): Use long, not time_t for portability, at
4388 least to HPUX. File below is a derived file.
4389
31eb3ead
BC
4390Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
4391
4392 * libbfd.h (artdata): Use long, not time_t for portability, at
4393 least to HPUX.
4394
242f60e2
JK
4395Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
4396
4397 * config.bfd: Use bigmips for mips*-*-bsd*.
4398
55d5b62d
ILT
4399Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4400
f2e945df
ILT
4401 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
4402 Handle symbol number of zero.
4403
7386c3b7
ILT
4404 * reloc.c (enum bfd_reloc_code_real): Added
4405 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
4406 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
4407 * bfd-in2.h: Rebuilt.
4408 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
4409 BFD_RELOC_MIPS_LITERAL.
4410 * elf32-mips.c (mips_reloc_map): Handle new relocs.
4411 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
4412 checks slightly.
4413
55d5b62d
ILT
4414 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
4415 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
4416 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
4417 MY_bfd_seclet_link): Define.
4418 (MY_bfd_reloc_type_lookup): Rename from
4419 MY_reloc_howto_type_lookup.
4420 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
4421 (MY(vec)): Use JUMP_TABLE rather than listing functions.
4422 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
4423 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
4424 terms of MY, because that causes a recusive invocation of CAT when
4425 expanded within JUMP_TABLE, and ANSI compilers don't expand
4426 recursive macros.
4427 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
4428 MY_reloc_howto_type_lookup, and don't define in terms of MY.
4429 (MY_canonicalize_reloc): Don't define in terms of MY.
4430 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
4431 than listing functions.
4432
6198b7a1
JK
4433Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
4434
4435 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
4436
ceeca31c 4437See file ChangeLog.1
e6d739eb 4438
41126f15
JK
4439\f
4440Local Variables:
4441mode: indented-text
4442left-margin: 8
6ec3bb6a
ILT
4443fill-column: 74
4444version-control: never
4445End:
This page took 0.282212 seconds and 4 git commands to generate.