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