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