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