Tue Aug 29 13:50:21 1995 steve chamberlain <sac@slash.cygnus.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3ea928f5
SC
1Tue Aug 29 13:50:21 1995 steve chamberlain <sac@slash.cygnus.com>
2
3 * bfd-in2.h: regenerated.
4
5Thu Aug 24 17:49:59 1995 Ian Lance Taylor (ian@cygnus.com)
6
7 * cofflink.c (coff_link_input_bfd): Don't include line numbers for
8 a section if its output section has no contents.
9
a48752a0
ILT
10Wed Aug 23 16:48:52 1995 Ian Lance Taylor (ian@cygnus.com)
11
12 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
13 expression to avoid compiler bug on HP-UX 9.01.
14
2abfcdf3
SC
15Wed Aug 23 09:49:39 1995 Steve Chamberlain <sac@rtl.cygnus.com>
16
17 * coffcode.h (pe_value): Unansify.
18
e9614321
SC
19Mon Aug 21 17:49:28 1995 steve chamberlain <sac@slash.cygnus.com>
20
21 * bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
22 (bfd_link_pe_info_dval): New
23 (bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
24 * bfd-in2.h: rebuilt.
25 * bfd.c (NT_subsystem, NT_stack_heap): Deleted.
26 * coffcode.h (pe_value): New function.
27 (fill_pe_header_info): New function.
28 (coff_write_object_contents): Use new function.
9162a94e 29 (coff_write_object_contents): Initialze link_data if not set.
e9614321
SC
30 * cofflink.c (coff_final_link_info): Remove pe randomness.
31 (dores_com): Update info in bfd_link_pe_info_dval.
32 (process_embedded_commands): Use the bfd_link_pe_info_dval.
33 (_bfd_coff_final_link): Remove PE stuff, initialize
34 coff_data->link_info.
35 * coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
36 (coff_swap_scnhdr_out): Use real imagebase.
7494201c 37 * libcoff-in.h (coff_data_type.link_info): New field.
e9614321 38
68807a39
ILT
39Mon Aug 21 11:10:32 1995 Ian Lance Taylor <ian@cygnus.com>
40
41 * linker.c (link_action): If an undefined reference follows an
42 undefined weak reference, change the type to undefined.
43 * elflink.h (elf_link_add_archive_symbols): Don't record an
44 undefined weak reference as defined, in case it turns into a real
45 undefined reference later in the same archive.
46
ff31ebda
KR
47Thu Aug 17 16:29:09 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
48
49 * coff-sh.c (sh_relax_section): Cast value for used_by_bfd field
50 to PTR, not coff_section_tdata pointer, since PTR is the real type
51 of the field.
52 * cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
53
92962c71
ILT
54Thu Aug 17 14:44:26 1995 Ian Lance Taylor <ian@cygnus.com>
55
56 Add support for linking SPARC SunOS PIC compiled code.
57 * sunos.c (SPARC_PLT_PIC_WORD0): Define.
58 (SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
59 (struct sunos_link_hash_entry): Add got_offset and plt_offset
60 fields.
61 (struct sunos_link_hash_table): Add dynamic_sections_created and
62 dynamic_sections_needed fields.
63 (sunos_link_hash_newfunc): Initialize new fields.
64 (sunos_link_hash_table_create): Initialize new fields.
65 (sunos_create_dynamic_sections): New static function, broken out
66 of sunos_add_dynamic_symbols.
67 (sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
68 (sunos_add_one_symbol): Call sunos_create_dynamic_sections.
69 (bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
70 checking whether we need to set up the dynamic link information.
71 Define __GLOBAL_OFFSET_TABLE if anything referred to it.
72 (sunos_scan_std_relocs): Call sunos_create_dynamic_sections. Use
73 plt_offset field; only put symbol in .plt if it is not defined by
74 a regular object.
75 (sunos_scan_ext_relocs): Likewise. Handle base relative relocs.
76 (sunos_scan_dynamic_symbol): Store dynobj in local variable.
77 (sunos_write_dynamic_symbol): Check plt_offset rather than
78 checking whether symbol is in .plt section. If symbol is defined
79 in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
80 add a JMP_TBL reloc.
81 (sunos_check_dynamic_reloc): Add contents and relocationp fields.
82 If plt_offset is set, redirect relocation to PLT. If this is a
83 base relative reloc, redirect relocation to GOT. Check
84 dynamic_sections_needed field rather than whether dynobj is set.
85 (sunos_finish_dynamic_link): Check dynamic_sections_needed field
86 rather than whether dynobj is set. Don't die if .need and .rules
87 sections were not created.
88 * aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
89 PC relative. Mark PC10 complain_overflow_dont. Mark PC22 and
90 JMP_TBL complain_overflow_signed.
91 (NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
92 (aout_link_input_section_std): Call check_dynamic_reloc for all
93 relocs. Pass contents and &relocation. Don't warn about an
94 undefined symbol until check_dynamic_reloc has been called. Don't
95 warn about an undefined symbol for a base relative reloc.
96 (aout_link_input_section_ext): Likewise. For a base relative
97 reloc, always treat r_index as an index into the symbol table.
98 * libaout.h (struct aout_backend_data): Add contents and
99 relocation argument to check_dynamic_reloc entry point.
100 (struct aoutdata): Add local_got_offsets field.
101
102Wed Aug 16 01:03:07 1995 Ian Lance Taylor <ian@cygnus.com>
103
104 * elf32-i386.c (elf_i386_check_relocs): Fix bug in last change.
105
452a5efb
ILT
106Mon Aug 14 11:39:24 1995 Ian Lance Taylor <ian@cygnus.com>
107
708fd841
ILT
108 * aoutx.h (NAME(aout,machine_type)): Handle a machine of
109 bfd_mach_sparc or bfd_mach_sparc64.
110
452a5efb
ILT
111 * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
112 definition, add it to the dynamic symbol table if any dynamic
113 object mentions it. If we do add it, make sure we add the
114 corresponding real symbol.
115 (elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
116 put in the dynamic symbol table, even if no regular object refers
117 to it.
118 * elf32-i386.c (elf_i386_check_relocs): When creating a shared
119 library, don't allocate space for a PC relative reloc against a
120 local symbol.
121 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
122 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
123 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
124 to accept symbol with weakdef set.
125 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
126 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
127 * elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
128 libary, don't copy over a PC relative reloc against a local
129 symbol.
130 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
131
e289647b
JL
132Sun Aug 13 00:40:58 1995 Jeff Law (law@snake.cs.utah.edu)
133
134 * som.h (R_HPPA_BEGIN_BRTAB): Define.
135 (R_HPPA_END_BRTAB): Likewise.
136 * som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.
137
baaffcef
ILT
138Thu Aug 10 15:53:29 1995 Ian Lance Taylor <ian@cygnus.com>
139
140 * coffswap.h (coff_swap_aux_in): Swap the array dimensions
141 whenever x_fcnary is not being used for something else, rather
142 than only for an array.
143 (coff_swap_aux_out): Likewise.
144
b84d6efb
SC
145Tue Aug 8 16:34:57 1995 steve chamberlain <sac@slash.cygnus.com>
146
147 * cofflink.c (_bfd_coff_generic_relocate_section): Remove most
148 of special case stuff for PE. Now handled by relocs.
149 * coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
150 (howto_table): Type 7 is dir32-rva.
151
0a552864
JL
152Tue Aug 8 10:15:43 1995 Jeffrey A. Law <law@rtl.cygnus.com>
153
154 * configure.host: Recognize aix4 explicitly.
155 * rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
156 of a core dump's data section. Provide alternate definition for aix4.
157 (SAVE_FIELD): Similarly for save state field (register info).
158 (STACK_END_ADDR): Provide definition suitable for aix4.
159 * config/{aix4.mh,aix4.mt}: New configuration files.
160 * hosts/aix4.h: Likewise.
161
f918d3cc
ILT
162Mon Aug 7 23:03:21 1995 Ian Lance Taylor <ian@cygnus.com>
163
164 * som.c (som_bfd_copy_private_symbol_data): Cast initializations
165 to avoid warnings.
166
515b8104
JL
167Mon Aug 7 14:51:08 1995 Jeff Law (law@snake.cs.utah.edu)
168
169 * som.c (som_decode_symclass): Handle absolute symbols by checking
170 the SOM type (since they will rarely if ever be in the absolute
171 section).
172
173Wed Aug 6 09:12:50 1995 Doug Evans <dje@canuck.cygnus.com>
174
175 * archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define.
176 * bfd-in2.h: Regenerated.
177 * cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct.
178 (sparc64_arch_info): New static variable.
179 (bfd_sparc_arch): Link in sparc64_arch_info.
180 * elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx.
181 (sparc64_elf_object_p): New static function.
182 (elf_backend_object_p): Define.
183 * config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec.
184
08683c8a
JL
185Sat Aug 5 00:04:08 1995 Jeff Law (law@snake.cs.utah.edu)
186
187 * som (som_get_reloc_upper_bound): Return -1 on error. Compute
188 return value with sizeof (arelent *), not sizeof (arelent).
189
190Wed Aug 2 12:32:21 1995 Ian Lance Taylor <ian@cygnus.com>
191
192 * elf.c (bfd_section_from_shdr): If the section pointed to by the
193 sh_link field of a reloc section is not a symbol table, and the
194 file contains a single symbol table, clobber the sh_link field of
195 the reloc section to point to the symbol table.
196
197Tue Aug 1 10:09:01 1995 Doug Evans <dje@canuck.cygnus.com>
198
199 * coff-arm.c (howto reloc ARM26): Change size from 3 to 2.
200 (howto reloc ARM26D): Likewise.
201
d06004cb
ILT
202Mon Jul 24 14:17:50 1995 Ian Lance Taylor <ian@cygnus.com>
203
08683c8a
JL
204 * aoutx.h (NAME(aout,find_nearest_line)): Use the line just before
205 the offset, not the one just after. Break out of the loop after
206 finding a function past the offset, not merely when finding a
207 function with a line defined.
208
981f4441
ILT
209 * ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:
210 correct setting of sym_ptr_end to consider symbols skipped when
211 setting sym_ptr; don't leave loop early unless an N_FUN is found
212 with a larger value.
213
d06004cb
ILT
214 * coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP
215 as PC relative. Describe R_SH_IMM16. Add entries for
216 R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
217 R_SH_ALIGN.
218 (SWAP_IN_RELOC_OFFSET): Define.
219 (SWAP_OUT_RELOC_OFFSET): Define.
220 (CALC_ADDEND): Define.
221 (sh_reloc): Change sym_value and addr to type bfd_vma. Skip reloc
222 types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
223 (coff_bfd_relax_section): Define.
224 (coff_bfd_get_relocated_section_contents): Define.
225 (sh_relax_section): New static function.
226 (sh_relax_delete_bytes): New static function.
227 (sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
228 (sh_coff_get_relocated_section_contents): New static function.
229
230 * cofflink.c (coff_link_add_object_symbols): Call
231 _bfd_coff_get_external_symbols, not coff_link_get_symbols. Call
232 _bfd_coff_free_symbols, not coff_link_free_symbols. Call
233 _bfd_coff_read_string_table, not coff_read_string_table.
234 (coff_link_check_archive_element): Likewise.
235 (coff_link_input_bfd): Likewise.
236 (coff_link_get_symbols): Move to coffgen.c.
237 (coff_read_string_table): Likewise.
238 (coff_link_free_symbols): Likewise.
239 (_bfd_coff_internal_syment_name): New static function.
240 (coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
241 (coff_link_add_symbols): Likewise.
242 (coff_link_input_bfd): Likewise.
243 (_bfd_coff_generic_relocate_section): Likewise.
244 (_bfd_coff_read_internal_relocs): New function.
245 (coff_link_input_bfd): Use cached section contents if available.
246 Use _bfd_coff_read_internal_relocs.
247 * coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
248 (coff_bfd_get_relocated_section_contents): Only define if not
249 already defined.
250 (coff_bfd_relax_section): Likewise.
251 * coffgen.c (build_string_table): Remove.
252 (_bfd_coff_get_external_symbols): New function, moved in from old
253 coff_link_get_symbols in cofflink.c.
254 (_bfd_coff_read_string_table): New function, moved in from old
255 coff_read_string_table in cofflink.c.
256 (_bfd_coff_free_symbols): New function, moved in frmo old
257 coff_link_free_symbols in cofflink.c.
258 (coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
259 rather than reading the symbols directly. To free them, call
260 _bfd_coff_free_symbols. Use _bfd_coff_read_string_table rather
261 than build_string_table.
262 * libcoff-in.h (obj_coff_keep_syms): Define.
263 (obj_coff_keep_strings): Define.
264 (coff_data_type): Add fields keep_syms and keep_strings.
265 (coff_section_tdata): Define new structure.
266 (coff_section_data): Define.
267 (_bfd_coff_get_external_symbols): Declare.
268 (_bfd_coff_read_string_table): Declare.
269 (_bfd_coff_free_symbols): Declare.
270 (_bfd_coff_read_internal_relocs): Declare.
271 * libcoff.h: Rebuild.
272
273Fri Jul 21 22:32:54 1995 Michael Meissner <meissner@cygnus.com>
274
275 * elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL
276 relocation.
277 (ppc_elf_reloc_type_lookup): Ditto.
278 (ppc_elf_got16_inner): Ditto.
279 (ppc_elf_relocate_section): Ditto.
280
297faf8c
JL
281Thu Jul 20 19:19:06 1995 Jeff Law (law@snake.cs.utah.edu)
282
283 * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored)
284 argument.
285 * elf32-hppa.h: Corresponding change.
286
883e2f51
KR
287Thu Jul 20 19:01:07 1995 Ken Raeburn <raeburn@cygnus.com>
288
289 * libaout.h (set_aout_section_data): New macro.
290 * sunos.c (sunos_scan_relocs): Use it.
291
292 * aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before
293 defining it.
294
e365a606
FF
295Thu Jul 20 13:48:00 1995 Fred Fish <fnf@cygnus.com>
296
297 * hosts/i386v4.h (getgid, getuid): Change prototypes to be
298 compatible with Unixware 1.x and Unixware 2.x, and probably other
299 i386 svr4 versions as well.
300
dfdcff13
KR
301Thu Jul 20 13:41:21 1995 Ken Raeburn <raeburn@cygnus.com>
302
303 * targets.c (bfd_target_vector): Since armpe and armpei have been
304 split into big- and little-endian variants, list all of them,
305 instead of the now-nonexistant armpe[i]_vec.
306
b5727da6
ILT
307Thu Jul 20 00:06:39 1995 Ian Lance Taylor <ian@cygnus.com>
308
309 * elf.c (bfd_section_from_phdr): Set lma based on p_paddr.
310 (elf_fake_sections): Set sh_addr based on lma, not vma.
311
d6fc77df
DE
312Wed Jul 19 15:52:01 1995 Doug Evans <dje@canuck.cygnus.com>
313
314 * coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
315 * configure.in (armpe_vec, armpei_vec): Add bi-endian support.
316 * configure: "regenerated".
317 * pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
318 (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
319 * pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
320 (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
321 * targets.c (armpe_vec, armpei_vec): Deleted.
322 (armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec):
323 Added.
324 * config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec.
325 (SELECT_VECS): Add bi-endian support.
326
327Wed Jul 19 10:47:25 1995 Ian Lance Taylor <ian@cygnus.com>
328
329 * coff-sh.c: Clean up and comment.
330 (r_imm32): Remove.
331 (sh_coff_howtos): New static array.
332 (SH_COFF_HOWTO_COUNT): Define.
333 (get_symbol_value): Make relocation bfd_vma rather than long.
334 (RTYPE2HOWTO): Rewrite to use sh_coff_howtos.
335 (coff_relocate_section): Define to sh_relocate_section.
336 (sh_relocate_section): New static function.
337
338Sat Jul 15 01:02:53 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
339
340 * configure.host: Add support for generic m68k SVR4 host.
341
175b3c0f
ILT
342Fri Jul 14 13:13:55 1995 Ian Lance Taylor <ian@cygnus.com>
343
d0d491b1
ILT
344 * aoutx.h (KEEPIT): Change definition to udata.i.
345 (KEEPITTYPE): Remove.
346 (NAME(aout,reloc_type_lookup)): Add cases to the
347 extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22,
348 SPARC_PC10, SPARC_PC22, SPARC_WPLT30.
349 (NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when
350 retrieving KEEPIT value.
351 (NAME(aout,swap_ext_reloc_out)): Likewise. Also, only add in
352 output section VMA for section symbols, and check BSF_SECTION_SYM
353 to control whether to set r_extern to 1.
354
80b44d8a
ILT
355 * syms.c: Fix comments so that `make info' works.
356
175b3c0f
ILT
357 * elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTS
358 in .mdebug section, in case backend linker has cleared it.
359
0c51f21a
MM
360Fri Jul 14 11:58:34 1995 Michael Meissner <meissner@tiktok.cygnus.com>
361
362 * elf32-ppc.c (ppc_elf_addr16_ha_inner): Rewrite to take just one
363 argument, the final relocated address.
364 (ppc_elf_addr16_ha_inner): Adjust ppc_elf_addr16_ha_inner caller.
365 (ppc_elf_relocate_section): Ditto.
366
d4654e38
JL
367Thu Jul 13 17:22:03 1995 Jeff Law (law@snake.cs.utah.edu)
368
369 * som.c (hppa_som_gen_reloc_type): Choose a reasonable field
370 selector relocation for the difference of two symbols.
371
c3246d9b
ILT
372Thu Jul 13 10:33:25 1995 Ian Lance Taylor <ian@cygnus.com>
373
3fe22b98
ILT
374 * aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_t
375 for malloc.
376 * coff-mips.c (mips_relocate_section): Likewise, for memmove.
377 (mips_relax_section): Likewise, for malloc.
378 * cofflink.c (process_embedded_commands): Likewise.
379 (_bfd_coff_final_link): Likewise.
380 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
381 (ecoff_final_link_debug_accumulate): Likewise.
382 (ecoff_indirect_link_order): Likewise, for memcpy and malloc.
383 (ecoff_reloc_link_order): Likewise, for malloc.
384 * ecofflink.c (ecoff_align_debug): Likewise, for memset.
385 (ecoff_write_symhdr): Likewise, for malloc.
386 * elf32-hppa.c (elf32_hppa_read_symext_info): Likewise.
387 * elf.c (assign_file_positions_except_relocs): Likewise, for
388 qsort.
389 * elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc.
390 * elfcode.h (elf_slurp_reloc_table): Likewise.
391 * elfcore.h (elf_corefile_note): Likewise.
392 * elflink.h (elf_link_add_object_symbols): Likewise.
393 (elf_link_read_relocs): Likewise.
394 (NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset.
395 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
396 * ieee.c (do_with_relocs): Likewise.
397 * linker.c (default_indirect_link_order): Likewise, for malloc.
398 * nlmcode.h (nlm_object_p): Likewise.
399 (nlm_write_object_contents): Likewise.
400 * oasys.c (oasys_set_section_contents): Likewise, for memcpy.
401 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise,
402 for malloc.
403 * section.c (bfd_get_section_contents): Likewise, for memcpy.
404 * srec.c (srec_get_section_contents): Likewise.
405 (srec_set_section_contents): Likewise.
406 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for
407 realloc and memset.
408 (sunos_scan_relocs): Likewise, for malloc.
409 (sunos_scan_dynamic_symbol): Likewise, for realloc.
410 * syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc.
411 * versados.c (versados_get_section_contents): Likewise, for
412 memcpy.
413
414 * libbfd.c (real_read): Add prototype. Change argument types from
415 int to size_t.
416 (bfd_read): Cast real_read argument to size_t, not int.
417 (bfd_write): Cast fwrite argument to size_t, not int.
418
419 * elf64-gen.c (elf_info_to_howto): Fix definition for recent elf.c
420 changes.
421
422 * configure.in: Fix typo: change {$enableval} to ${enableval}.
423 * configure: Rebuild.
424
425 * Makefile.in (BFD32_BACKENDS): Add elflink.o.
426
c3246d9b
ILT
427 * targets.c (bfd_target): Add fields _read_minisymbols and
428 _minisymbol_to_symbol.
429 (BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
430 _minisymbol_to_symbol.
431 (bfd_read_minisymbols): Define.
432 (bfd_minisymbol_to_symbol): Define.
433 * syms.c (_bfd_generic_read_minisymbols): Define.
434 (_bfd_generic_minisymbol_to_symbol): Define.
435 * libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
436 (_bfd_nosymbols_minisymbol_to_symbol): Define.
437 (_bfd_generic_read_minisymbols): Declare.
438 (_bfd_generic_minisymbol_to_symbol): Declare.
439 * bfd-in2.h: Rebuild.
440 * libbfd.h: Rebuild.
441 * aoutx.h (MINISYM_THRESHOLD): Define.
442 (NAME(aout,read_minisymbols)): New function.
443 (NAME(aout,minisymbol_to_symbol)): New function.
444 * libaout.h (NAME(aout,read_minisymbols)): Declare.
445 (NAME(aout,minisymbol_to_symbol)): Declare.
446 * aout-target.h (MY_read_minisymbols): Define.
447 (MY_minisymbol_to_symbol): Define.
448 * All targets: Define read_minisymbols and minisymbol_to_symbol.
449
b818a325
KR
450Wed Jul 12 17:55:55 1995 Ken Raeburn <raeburn@cygnus.com>
451
452 * elflink.h (elf_link_add_object_symbols): Cast return value from
453 bfd_alloc.
454
455 * elfcode.h (size_info): Don't use "&" before function names.
456
457Wed Jul 12 00:16:48 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
458
459 * libelf.h (elf_backend_data): Use unsigned, not unsigned char,
460 for bitfields.
461
cf9fb9f2
ILT
462Tue Jul 11 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
463
f55900af
ILT
464 * elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get the
465 BFD section for the sh_link section if it is a SYMTAB section.
466
6c481b58
ILT
467 * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
468 that archives hold a.out objects.
469 * cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
470 (lynx_link_add_symbols): Remove.
471 * cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
472 (lynx_link_add_symbols): Remove.
473 * elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
474 archives hold ELF objects.
475
0e75a8d6
ILT
476 * archive.c (bfd_generic_archive_p): If the archive has a map, and
477 the target was defaulted, but the first object in the archive can
478 not be matched with that target, then return a bad format error.
479
18bf5d5f
ILT
480 * elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 to
481 elf64_wdisp16_reloc.
482 (elf64_wdisp16_reloc): New static function.
483 (elf64_sparc_relocate_section): New static function.
484 (elf_backend_relocate_section): Define.
485
cf9fb9f2
ILT
486 * libelf.h (struct elf_size_info): Change type of last argument to
487 swap_symbol_out from char * to PTR.
488 (bfd_elf32_swap_symbol_out): Update declaration.
489 (bfd_elf64_swap_symbol_out): Likewise.
490 * elfcode.h (elf_swap_symbol_out): Change type of cdst from char *
491 to PTR.
492 * elf.c (swap_out_syms): Cast to PTR, not char *, when calling
493 swap_symbol_out routine.
494 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise.
495 (elf_link_output_sym): Likewise.
496 (elf_link_output_extsym): Likewise.
497 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
498
6f904fce
ILT
499Tue Jul 11 12:29:49 1995 Rick Sladkey <jrs@world.std.com>
500
501 * elf.c (_bfd_elf_find_nearest_line): Handle the simple case where
502 there is no debugging information.
503
5b2c2b36
KR
504Mon Jul 10 11:45:55 1995 Ken Raeburn <raeburn@cygnus.com>
505
506 * makefile.dos (OBJS): Add binary.o and tekhex.o. From DJ
507 Delorie.
508
d11d1fb6
ILT
509Mon Jul 10 11:09:58 1995 Ian Lance Taylor <ian@cygnus.com>
510
6f904fce
ILT
511 * linker.c (set_symbol_from_hash): bfd_link_hash_new case: Don't
512 abort; it can happen for constructor symbols when not building
513 constructors.
514
921fc281
ILT
515 * coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp,
516 not on string.
56fd39e8
ILT
517 * cofflink.c (_bfd_coff_generic_relocate_section): Remove unused
518 local i.
519 * coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
9ab8a0e8
ILT
520 (PCRELOFFSET): Define if not already defined.
521 * Makefile.in: Rebuild dependencies.
522 (BFD32_BACKENDS): Add coff-arm.o
523 (CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
921fc281 524
e3364701
ILT
525 * aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table
526 using bfd_alloc, not malloc.
527 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
528 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
529 * i386linux.c (linux_link_hash_table_create): Likewise.
530 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
531 * sunos.c (sunos_link_hash_table_create): Likewise.
532
951fe66d
ILT
533 Based on patches from Eric Youngdale <eric@aib.com>:
534 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic,
535 output a DT_SYMBOLIC dynamic entry.
536 (elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT
537 entry for a locally defined symbol.
538 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn
539 about undefined symbols, and fill in the GOT entry for a symbol
540 defined in a regular object file.
541 (elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
542 reloc rather than a GLOB_DAT reloc for a symbol defined in a
543 regular object file.
544 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn
545 about undefined symbols, and fill in the GOT entry for a symbol
546 defined in a regular object file.
547 (elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
548 reloc rather than a GLOB_DAT reloc for a symbol defined in a
549 regular object file.
550 * elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do
551 warn about undefined symbols, and fill in the GOT entry for a
552 symbol defined in a regular object file.
553 (elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a
554 RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined
555 in a regular object file.
556
d11d1fb6
ILT
557 * config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS.
558 Correct elements to be actual BFD vector names.
559
560 * Makefile.in (Makefile): Don't depend upon @frags@.
561 (config.status): Depend upon @frags@.
562
c7e76b5e
ILT
563Fri Jul 7 17:36:44 1995 Ian Lance Taylor <ian@cygnus.com>
564
565 * coffgen.c (coff_renumber_symbols): Sort defined symbols that are
566 neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined
567 symbols.
568 * coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well
569 as BSF_NOT_AT_END.
570
53751507
KR
571Fri Jul 7 17:16:15 1995 Ken Raeburn <raeburn@cygnus.com>
572
573 * Makefile.in (do_mostlyclean): Remove config.log.
574 (do_distclean): Remove config.cache.
575
b10e9afb
ILT
576Thu Jul 6 14:37:43 1995 Ian Lance Taylor <ian@cygnus.com>
577
1d5d75e9
ILT
578 * elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch.
579 Don't copy PC32 reloc against section into shared object.
580
b10e9afb
ILT
581 * Makefile.in: Rebuild dependencies.
582 (CFILES): Added elflink.c.
583 (Makefile): Depend upon config.status, not configure.in.
584 (config.status): New target; depend upon configure configure.host
585 and config.bfd.
586
ede4eed4
KR
587Wed Jul 5 20:17:14 1995 Ken Raeburn <raeburn@cygnus.com>
588
589 * elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some
590 primarily size-independent code from elfcode.h to elf.c and new
591 file elflink.c; moved out other core- or linker-related routines
592 into other new .h files for clarity. Renamed many routines to
593 start with bfd_elf or _bfd_elf. Added a structure of
594 size-dependent but target-independent info to elfcode.h.
595 * Makefile.in: Build elflink.o. Update dependencies.
596 * libelf.h: Updated some declarations. Added a definition for the
597 new structure in elfcode.h. Added more fields to elf backend data
598 structure.
599 * elfxx-target.h: Refer to the appropriate size-dependent info.
600 * elf32-*.c: Changed some function names. Moved common
601 create_dynamic_sections code from m68k, sparc, and i386 support
602 into elflink.c. Define some new macros to fill in new fields of
603 back end data. Also clean up some "gcc -Wall" warnings regarding
604 unused or uninitialized variables.
605
0a8310ac
KR
606 * Makefile.in (BFD_LIBS): No, don't put elflink.o here.
607 * configure.in: Include it here whenever elf.o is specified.
608
9525b61b
ILT
609Wed Jul 5 10:31:47 1995 Ian Lance Taylor <ian@cygnus.com>
610
6c495350
ILT
611 * elf32-mips.c (mips_elf_object_p): Unconditionally set
612 elf_bad_symtab, since sometimes the symbol table is messed up and
613 the last symbol is global.
614
a2546fce
ILT
615 * ecoff.c (_bfd_ecoff_bfd_is_local_label): New function.
616 * libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare.
617 * elf32-mips.c (mips_elf_is_local_label): New static function.
618 (bfd_elf32_bfd_is_local_label): Define.
619
9525b61b
ILT
620 * configure.in: Use $ac_config_sub, not $configsub.
621 * configure: Likewise.
622
623 Permit --enable-targets=ieee:
624 * config.bfd (*-*-ieee*): New target.
625 * config/ieee.mt: New file.
626
8c693660
KR
627Wed Jul 5 04:16:35 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
628
b6113657
KR
629 * config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN.
630
8c693660
KR
631 Autoconfiscation:
632 * configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus
633 configure to autoconf ways of processing --enable arguments,
634 setting up symlinks, incorporating makefile fragments, printing
635 messages at configuration time, setting variables in Makefile.
636 Deleted some unused variables. Check for ranlib via autoconf.
637 For now, configure script removes doc/config.status.
638 * configure: New file.
639 * dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in
640 line doesn't get broken by configure.
641 * doc/configure.in: Removed.
642
194fc935
ILT
643Tue Jul 4 12:22:21 1995 Ian Lance Taylor <ian@cygnus.com>
644
27b1ec94
ILT
645 * archive.c (_bfd_construct_extended_name_table): If
646 BFD_TRADITIONAL_FORMAT is set, limit the length of all file names
647 to ar_max_namelen.
648 (bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call
649 bfd_bsd_truncate_arname.
650 (_bfd_write_archive_contents): Revert June 1 change.
e5100743 651
b5279eb6
ILT
652 * elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide
653 argument.
654 * bfd-in.h (bfd_elf32_record_link_assignment): Update prototype.
655 (bfd_elf64_record_link_assignment): Likewise.
656 * bfd-in2.h: Rebuild.
657
b176e1e9
ILT
658 * libelf.h (struct elf_link_hash_table): Add needed field. Remove
659 saw_needed field.
660 * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
661 is an empty string, don't make a DT_NEEDED entry in the output
662 file. Record all DT_NEEDED entries found in input dynamic
663 objects.
664 (elf_link_output_extsym): Don't check saw_needed when issuing
665 warnings.
666 * elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not
667 saw_needed.
668 (bfd_elf_get_needed_list): New function.
669 * bfd-in.h (struct bfd_elf_link_needed_list): Define.
670 (bfd_elf_get_needed_list): Define.
671 * bfd-in2.h: Rebuild.
672
194fc935
ILT
673 * ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize
674 find_buffer and fdrtab_len fields of newly allocated
675 find_line_info structure.
676
c40439a2
JL
677Mon Jul 3 17:03:52 1995 Jeff Law (law@snake.cs.utah.edu)
678
679 * som.c (hppa_som_gen_reloc_type): New argument "sym_diff",
680 nonzero when we're generating relocations for an expression
681 using the difference of two symbols. All callers changed.
682 Handle difference of symbols for both R_HPPA and R_COMPLEX
683 cases.
684 (som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR
685 fixups.
686
bd676d26
SC
687Mon Jul 3 13:55:18 1995 Steve Chamberlain <sac@slash.cygnus.com>
688
689 * config.bfd (win32): New configuration.
690 * configure.host (pe): Changed to i386win32.
691 * config/i386pe.mh: Deleted.
692 * config/i386win32.mh: New file.
693
8809320b
ILT
694Mon Jul 3 11:30:45 1995 Ian Lance Taylor <ian@cygnus.com>
695
3a6eecd4
ILT
696 * ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate
697 find_line_info, clear the fdrtab field.
698
9fd10c34
ILT
699 * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,
700 rather than in bfd-in2.h.
701
702 * bfd.c (enum bfd_error): Define bfd_error_no_armap.
703 (bfd_errmsgs): Add string for bfd_error_no_armap.
704 * bfd-in2.h: Rebuild.
705 * ecoff.c (ecoff_link_add_archive_symbols): If an archive has no
706 armap, set bfd_error_no_armap rather than bfd_error_no_symbols.
707 * elfcode.h (elf_link_add_archive_symbols): Likewise.
708 * linker.c (_bfd_generic_link_add_archive_symbols): Likewise.
709
3004a68c
ILT
710 * elfcode.h (elf_link_add_object_symbols): Permit common and
711 indirect symbols in weakdefs BFD_ASSERT.
712 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify
713 BFD_ASSERT to permit some legal, but odd, cases.
30dc85f1
ILT
714 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
715 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
716
8809320b
ILT
717 * Makefile.in: Rebuild dependencies.
718 (BFD32_BACKENDS): Add versados.o.
719 (CFILES): Add pe-i386.c, pei-i386.c, and versados.c.
720start-sanitize-arc
9fd10c34
ILT
721 (elf32-arc.o): New target. This target should be removed when
722 elf32-arc.c can be added to CFILES, after which the automatic
723 dependency building will handle it.
8809320b
ILT
724end-sanitize-arc
725
be89267c
ILT
726Sun Jul 2 17:49:32 1995 Ian Lance Taylor <ian@cygnus.com>
727
728 * cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file
729 to FILE * before using it.
730 * stab-syms.c: Revert yesterday's patch.
731
033d545b
FF
732Sat Jul 1 12:10:42 1995 Fred Fish <fnf@cygnus.com>
733
734 * stab-syms.c (stdio.h): Include prior to libaout.h, which
735 includes bfdlink.h, which now uses FILE.
736
b968e4f4
KR
737Sat Jul 1 00:11:08 1995 Ken Raeburn <raeburn@cygnus.com>
738
739 * elfxx-target.h: New file.
5cab016b
KR
740
741 * libelf.h (struct elf_backend_data): Remove elf_64_p field.
742 * elfxx-target.h (elfNN_bed): Don't set it.
743
b968e4f4
KR
744 * elf32-target.h, elf64-target.h: Deleted.
745 * Makefile.in (elf32-target.h, elf64-target.h): Build them from
746 elfxx-target.h.
747
ece22cd0
SC
748Fri Jun 30 16:07:18 1995 Steve Chamberlain <sac@slash.cygnus.com>
749
750 * cofflink.c (_bfd_coff_generic_relocate_section): Compare
751 the full text of .reloc or .edata section names.
752
033d545b 753Fri Jun 30 15:47:37 1995 Fred Fish <fnf@cygnus.com>
d84d840f
FF
754
755 * cofflink.c (_bfd_coff_generic_relocate_section):
756 Remove extra '+'.
757
69b799df
SC
758Thu Jun 29 17:24:52 1995 Steve Chamberlain <sac@slash.cygnus.com>
759
760 * coff-h8300.c (COFF_LONG_FILENAMES): Define.
761
89665c85
SC
762Wed Jun 28 18:04:42 1995 Steve Chamberlain <sac@slash.cygnus.com>
763
764 * Makefile.in: versados.o is now conditionally built.
765 * coffcode.h (add_data_entry): New function.
766 (coff_write_object_contents): Clean up. Calculate
767 data entries.
768 * cofflink.c (_bfd_coff_generic_relocate_section):
769 .reloc and .edata sections are IMAGE_BASED too.
770 If there's a base_file then write out base information.
771 * configure.host (i386-*-pe): New.
772 * syms.c (coff_section_type): Only scan prefixes.
773 * targets.c (bfd_target_vector): Versados is now conditionally
774 built.
775 * config/m68k-coff.mt: Build versados.o
776 * hosts/i386pe.h: New file.
777
6cb964d4
JL
778Mon Jun 26 13:53:49 1995 Jeff Law (law@snake.cs.utah.edu)
779
780 * elf32-hpa.c (elf32_hppa_relocate_section): Close comment before
781 R_PARISC_DPREL21L handling.
782
783Thu Jun 22 19:28:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
784
785 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
786
787 * config/i386-moss.mt: created.
788
f4761bb2
SC
789Thu Jun 22 08:56:10 1995 Steve Chamberlain <sac@slash.cygnus.com>
790
791 * reloc.c (bfd_perform_relocation): Add case for -ve words.
792
775d1255
JL
793Wed Jun 21 13:13:49 1995 Jeff Law (law@snake.cs.utah.edu)
794
795 * elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a
796 relocation against an undefined symbols.
797
9eacc5c4
SC
798Wed Jun 21 10:16:10 1995 Steve Chamberlain <sac@slash.cygnus.com>
799
800 * versados.c: Second pass/rewrite.
801
802Mon Jun 19 08:40:45 1995 Steve Chamberlain <sac@slash.cygnus.com>
803
804 * syms.c (coff_section_type): Compare only the front part
f55900af 805 of a section name.
9eacc5c4 806
9a688057
JL
807Sat Jun 17 09:40:44 1995 Jeff Law (law@snake.cs.utah.edu)
808
9fe4fade
JL
809 * elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub
810 section if we get an error.
811
9a688057
JL
812 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
813 with the operands of an R_PARISC_DPREL21L relocation if the insn
814 is not "addil <symbol>,%r27".
815
018dafca
SS
816Fri Jun 16 15:04:47 1995 Stan Shebs <shebs@andros.cygnus.com>
817
818 * bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
819 define.
820 * bfd-in2.h: Rebuilt.
821 * bfd.c (NT_subsystem, NT_stack_heap): Define.
822
31dabb6c
JL
823Fri Jun 16 00:07:25 1995 Jeff Law (law@snake.cs.utah.edu)
824
825 * elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right
826 type field (there are two!) when checking to see if $global$ is
827 defined.
828
e0151f38
SS
829Thu Jun 15 14:03:47 1995 Stan Shebs <shebs@andros.cygnus.com>
830
831 * bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false
832 to bfd_tttrue, bfd_fffalse so as not to conflict with functions.
833 * coffswap.h (coff_swap_scnhdr_out): Remove version that was
834 hacked for MPW C.
835 * mpw-config.in: Set shell vars instead of pasting to makefile
836 for each configuration, edit coffswap.h to make MPW C not choke.
837 (i386-unknown-coff, sh-hitachi-hms): Recognize.
838 * mpw-make.in (BFD_LIBS): Add versados.c.o.
839
840 * versados.c (versados_scan): Properly cast results from bfd_alloc.
841
842Wed Jun 14 15:27:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
843
844 * cofflink.c (process_embedded_commands): New function
845 reads and handles .drectve sections for PE.
846 (coff_link_input_bfd): Call new function if PE.
847
080f1fcb
JL
848Mon Jun 12 12:09:39 1995 Jeff Law (law@snake.cs.utah.edu)
849
850 * bfd-in.h (bfd_set_section_vma): Case true to a boolean.
851 (bfd_set_cacheable): Likewise.
852 * bfd-in2.h: Rebuilt.
853
d1ec549d
SC
854Fri Jun 9 12:20:28 1995 Steve Chamberlain <sac@rtl.cygnus.com>
855
856 * elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical.
857
3b1f83ad
JL
858Fri Jun 9 12:49:00 1995 Jeff Law (law@snake.cs.utah.edu)
859
6167a840
JL
860 * targets.c: Add copy_private_symbol_data and link_split_section
861 to the target vector.
862 * libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define.
863 (_bfd_nolink_bfd_link_split_section): Likewise.
864 (bfd_generic_link_split_section): Declare.
865 * syms.c (bfd_copy_private_symbol_data): Define.
866 * linker.c (bf_link_split_section): Likewise.
867 * som.c (som_bfd_copy_private_symbol_data): New function
868 (som_bfd_link_split_section): Likewise.
869 * All other targets updated with default versions of new routines.
870
871 * Take out my braindamaged bfd_true/bfd_false changes from earlier
872 today. Replace with just:
3b1f83ad
JL
873 * bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
874 compiling with g++-2.6 or later.
3b1f83ad
JL
875 * bfd-in2.h: Rebuilt.
876
9ff2fb3d
SC
877Fri Jun 9 07:54:29 1995 Steve Chamberlain <sac@slash.cygnus.com>
878
e6304bc7
SC
879 * versados.c (struct esd, get_4): Lint; use unsigned chars.
880
9ff2fb3d
SC
881 * coff-i960.c (coff_i960_relocate): Compare output section names
882 when converting for vxworks.
883
0ef449df
KR
884Wed Jun 7 19:01:30 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
885
886 * elfcode.h (elf_fake_sections): Permit .scommon or COMMON
887 sections as random SHT_NOBITS sections, in case a linker script is
888 strange.
889
890Tue Jun 6 17:29:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
891
892 * bfd-in.h (NT_subsystem, NT_stack_heap): Moved from pe.h
893 * coff-i386.c (coff_i386_rtype_to_howto): Get PE relocs right.
894 * coffcode.h (coff_mkobject): Set pe tdata bit when using PE.
895 * cofflink.c (COFF_WITH_PE code): Test on obj_pe bit rather
896 than conditional compile.
897 * configure.in: Fix PE dependencies.
898 * libcoff-in.h (obj_pe): New.
899 (coff_tdata): Added pe entry.
900 * libcoff.h: Regenerated.
901
902Mon Jun 5 09:07:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
903
904 * coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize
c7e76b5e 905 macro.
0ef449df 906
1be0c30e
KR
907Mon Jun 5 02:15:20 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
908
9e1b4d57
KR
909 Linker support for m68k-elf from Andreas Schwab
910 <schwab@issan.informatik.uni-dortmund.de>:
911 * elfcode.h (elf_link_add_object_symbols): Check for NULL when
912 looping through the symbol hashes.
913 (elf_bfd_final_link): When looking for _init and _fini don't use
914 the symbol if it is imported from another object.
915 * elf32-m68k.c: Relocation type changed from REL to RELA. Regular
916 and dynamic linking support functions added, similar to other elf
917 targets.
918
1be0c30e
KR
919 * config.bfd (i[345]86-*-gnu*): Use ELF configuration.
920
c3c112fc
SC
921Fri Jun 2 18:54:59 1995 Steve Chamberlain <sac@slash.cygnus.com>
922
923 * versados.c: New file.
924 * bfd-in2.h (struct _bfd): New field.
925 * bfd.c (struct _bfd): New field.
926 * configure.in (versados_vec): New field.
927 * targets.c (bfd_flavor): Added versados.
928
fa29f969
SC
929Thu Jun 1 13:51:49 1995 Steve Chamberlain <sac@slash.cygnus.com>
930
931 * coffcode.h (sec_to_styp_flags, styp_to_sec_flags,
932 coff_new_section_hook): Any section that starts ".stab"
933 is now marked as debugging.
934
45fb9cd1
KR
935Thu Jun 1 16:15:16 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
936
db88e79a
KR
937 * archive.c (_bfd_write_archive_contents): Disable extended name
938 table until it can be made optional, so that native AR has half a
939 chance on SunOS and HP/UX.
940
45fb9cd1
KR
941 * linker.c (_bfd_generic_link_output_symbols, case
942 bfd_link_hash_indirect): Add cast to correct pointer types.
943
944Sat May 27 21:37:31 1995 J.T. Conklin <jtc@rtl.cygnus.com>
945
946 * config.bfd (m68k-bull-sysv*): Added strip_underscore=yes.
947 (m68k-est-coff): Removed. target does not effect object format.
948
a3444c49
SC
949Wed May 24 10:52:01 1995 Steve Chamberlain <sac@slash.cygnus.com>
950
45fb9cd1
KR
951 * linker.c (_bfd_generic_link_output_symbols): Cope with
952 indirect symbols.
953
a3444c49
SC
954 * elf32-i386.c (elf_i386_relocate_section): Give error
955 message when linking to a shared reloc which isn't there.
956
957Wed May 24 10:40:00 1995 Steve Chamberlain <sac@slash.cygnus.com>
958
959 Support for ARM-PE.
960
961 * Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c,
9ab8a0e8 962 pei-arm.c, coff-arm.c, reloc.c, targets.c, config/arm-pe.mt:
a3444c49
SC
963 Support for ARM COFF/PE.
964
965Tue May 23 19:24:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
966
967 * bfd.c (bfd_get_relocated_section_contents): Now a function,
968 tries calling routine from input bfd target vector for
969 bfd_indirect_link_order. Put a declaration into the header file.
970 * bfd-in2.h: Regenerated.
971 * elf32-mips.c (gprel16_with_gp): New function, split out from
972 mips_elf_gprel16_reloc.
973 (mips_elf_gprel16_reloc): Call it. If output bfd target vector
974 isn't elf flavoured, abort, since it's assumed to be elf in some
975 of this code, including the code that looks up the gp value.
976 (elf32_mips_get_relocated_section_contents): New function,
977 modified from bfd_generic_get_relocated_section_contents to deal
978 with passing gp to gprel16_with_gp.
979 (bfd_elf32_bfd_get_relocated_section_contents): New macro.
980 * elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents):
981 Don't define if already defined.
982
58c56c60
JL
983Tue May 23 15:58:15 1995 Jeff Law (law@snake.cs.utah.edu)
984
985 * Makefile.in: Install bfdlink.h too.
986
987Sun May 21 22:25:09 1995 Jeff Law (law@snake.cs.utah.edu)
988
989 * elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and
990 notsupported return codes from final_link_relocate (used when
991 $global$ is undefined or nonexistant).
992 (elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is
993 not defined,then return bfd_reloc_undefined.
994
7cdedb42
SC
995Fri May 19 10:00:14 1995 Steve Chamberlain <sac@rtl.cygnus.com>
996
997 * coffswap.h: (IMAGE_BASE): Define to 0 if not.
998
ff15324f
KR
999Thu May 18 04:24:01 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1000
1001 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1002
1003 * aoutx.h (aout_link_input_section_standard): If defined, call
1004 MY_relocatable_reloc before doing a partial relocation.
1005
1006 * aout-arm.c: (WRITE_HEADERS): Delete.
1007 (NAME): Define version to override default in aoutx.h
1008 (MY(howto_table)): Reformat. Alter some entries slightly.
1009 (RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define.
1010 (MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions.
1011 (MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define.
1012 (MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return
1013 bfd_reloc_ok not bfd_reloc_continue.
1014 (MY(fix_pcrel_26_done)): Likewise.
1015 (MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup.
1016 (MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols,
1017 MY_bfd_final_link): Delete.
1018 (MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents):
1019 Define.
1020 (aoutx.h): Include it.
1021 (MY(swap_std_reloc_{in,out})): New functions.
1022 Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit.
1023 (aoutarm_squirt_out_relocs): Delete.
1024
1025 From: David Taylor (dtaylor@armltd.co.uk)
1026 * config/arm[lb]-aout.mt: New files.
1027 * aout-arm.c: New file.
1028 * config.bfd: Handle arm{,e[lb]}-*-aout
1029 * configure.in: Add vetor for aout_arm_{big,little}_vec.
1030 * reloc.c: New relocation types for the ARM.
1031 * targets.c (aout_arm_{big,little}_vec): declare.
1032
8558c4e3
JK
1033Tue May 16 10:29:51 1995 Jim Kingdon <kingdon@deneb.cygnus.com>
1034
1035 * libbfd.c (bfd_stat): If bfd_cache_lookup returns an error,
1036 return an error to the caller. Call bfd_set_error on errors.
1037
1038Tue May 16 14:44:45 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1039
1040 * libcoff-in.h (coff_renumber_symbols): Modified prototypes in
1041 accordance with 11 May libcoff.h change.
1042
b297038d
SC
1043Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
1044
1045 tekhex.c (first_phase): Understand type 0 symbols.
1046 (tekhex_write_object_contents): Fix typo in final record.
1047
1048Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
1049
b297038d
SC
1050 * coff-i960.c (optcall_callback): don't try and optimize
1051 undefined refs.
1052 (coff_write_relocs): Search for broken relocs on the way
1053 out and fix them up.
1054 (coff_renumber_symbols): Calculate and return index of
1055 first undefined symbol.
1056 (coff_write_object_contents): Call coff_renumber_symbols
1057 and coff_write_relocs with the new args.
1058 * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols):
1059 Modified prototypes.
1060
1061Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
1062 Tom Griest <griest@cs.yale.edu>
1063
1064 Initial support for PE format.
1065
1066 * Makefile.in, targets.c, configure.in, config.bfd:
1067 Add support for i386-*-winnt and i386-*-pe.
1068 * archive.c (do_slurp_coff_armap): Understand NTPE format
1069 archives.
1070 (_bfd_slurp_extended_name_table): Turn \ in a filename
1071 into /.
1072 * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New.
1073 * coff-i386.c (howto_table): Conditionalize PCRELOFFSET.
1074 * coffcode.h (IMAGE_BASE): New.
1075 (coff_compute_section_file_positions): Throw away .junk
1076 sections for PE, align symbols.
1077 (coff_write_object_contents): Throw away .junk sections
1078 for PE. Remember info on .idata and .rsrc sections.
1079 Fill in the PE header.
1080 (coff_slurp_symbol_table): PE uses C_SECTION class.
1081 * cofflink.c (_bfd_coff_final_link): Keep PE info up to date.
1082 (_bfd_coff_generic_relocate_section): Cope with PE relocs.
1083 * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}):
1084 New code for PE headers.
1085
c7b44b04
MM
1086Tue May 9 17:01:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1087
1088 * config.bfd: Add little endian PowerPC support.
1089 * configure.in: Ditto.
1090 * targets.c: Ditto.
1091 * config/ppcle-elf.mt: New file, for little endian PowerPC
1092 support.
1093 * config/ppc-elf.mt: Add little endian powerpc to the BFD
1094 selection vectors.
1095 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
1096 linking a different endian object than we expect.
1097 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
1098 endian support.
1099
1100Tue May 2 16:32:24 1995 Jeff Law (law@snake.cs.utah.edu)
1101
1102 * config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
1103
1104Tue Apr 25 19:38:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1105
1106 * coffgen.c (make_a_section_from_file): Initialize lma same as
1107 vma.
1108
0c3c868b
JM
1109Tue Apr 25 11:03:21 1995 Jason Molenda (crash@phydeaux.cygnus.com)
1110
1111 * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
1112 std-host.h.
1113
1114Mon Apr 24 23:56:44 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1115
1116 * hosts/i386linux.h (HAVE_PROCFS): Don't define it. Added lengthy
1117 comment explaining why.
1118
423b654e
MM
1119Mon Apr 24 10:34:02 1995 Michael Meissner <meissner@cygnus.com>
1120
1121 * hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't
1122 define HAVE_PROCFS.
1123
a96c03cc
MM
1124Mon Apr 24 08:33:12 1995 Michael Meissner <meissner@cygnus.com>
1125
1126 * elf32-ppc.c (ppc_elf_relocate_section): Do not continue
1127 processing unknown symbols to prevent a cascade of errors.
1128
1f2025d9
KR
1129Fri Apr 21 12:48:48 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1130
1131 Patches from H.J. Lu for Linux ELF core file support.
1132 * elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]:
1133 Use prpsinfo_t instead of struct prpsinfo, for consistency.
1134 * hosts/i386linux.h (HAVE_PROCFS): Define.
1135
42aade75
SC
1136Thu Apr 20 09:07:39 1995 Steve Chamberlain <sac@slash.cygnus.com>
1137
1138 * linker.c (link_action): Do the right thing when a undefined
1139 strong symbol appears after an undefined weak symbol.
1140
1141Fri Apr 14 16:51:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1142
1143 * elf32-ppc.c (ppc_elf_relocate_section): New function to relocate
1144 a whole section for the linker, bypassing bfd_perform_relocation.
1145 (ppc_elf_reloc_type_lookup): New function to map the BFD
1146 enumeration code into a howto structure.
1147 (ppc_elf_howto_raw): Rename from ppc_elf_howto_table.
1148 (ppc_elf_howto_table): New array that maps PowerPC relocation
1149 numbers to howto structures without a linear search. Change from
1150 using bfd_elf_generic_reloc to use ppc_elf_std_reloc.
1151 (ppc_elf_howto_init): Initialize ppc_elf_howto_table from
1152 ppc_elf_howto_raw.
1153 (ppc_elf_reloc_type_lookup): Use a case statement instead of a
1154 loop.
1155 (ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc.
1156 (ppc_elf_unsupported_reloc): Print a real error message, instead
1157 of calling abort.
1158 (ppc_elf_addr16_ha_inner): Abstract getting adjustment from
1159 ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it
1160 too.
1161 (ppc_elf_addr16_ha_reloc): Call it.
1162 (ppc_elf_got16_inner): Abstract getting adjustment from
1163 ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too.
1164 (ppc_elf_got16_reloc): Call it.
1165 (ppc_elf_info_to_howto): Rename from powerpc_info_to_howto.
1166
1167 * elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging
1168 output.
1169 (elf_symbol_flags): Add debug function to decode flags so that
1170 defining DEBUG to be 4 will compile again.
1171 (elf_debug_section): Fix typo in debug output.
1172
1b283698
KR
1173Fri Apr 14 16:03:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1174
1175 * config.bfd: Add m68*-*-elf*.
1176 * elf32-m68k.c: Filled out implementation, except for dynamic
1177 linking support.
1178 * reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF,
1179 *_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF.
1180 * libbfd.h, bfd-in2.h: Regenerated.
1181
1182Thu Apr 13 14:28:04 1995 Torbjorn Granlund <tege@adder.cygnus.com>
1183
1184 * coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
1185 1 to 2.
1186 (bfd_target): Change minimum section alignment from 1 to 2.
1187
56e57a6b
KR
1188Wed Apr 12 12:40:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1189
1190 * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like
1191 R6000 and R4000 for now.
1192
1193Tue Apr 4 12:28:25 1995 Stan Shebs <shebs@andros.cygnus.com>
1194
1195 * mpw-config.in: New file, MPW version of configure.in.
1196 * mpw-make.in: New file, MPW version of Makefile.in.
1197 * hosts/mpw.h: New file, MPW host definitions.
1198 * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]:
1199 Alternate versions without ECOFF_64 that chokes MPW C.
1200 * coffswap.h (coff_swap_scnhdr_out): Add alternative version with
1201 partly-expanded macros.
1202
1203Thu Mar 30 14:56:21 1995 Ian Lance Taylor <ian@cygnus.com>
1204
1205 * reloc.c (bfd_perform_relocation): Don't bother to check for
1206 overflow if the symbol is undefined.
1207
e83f7745
ILT
1208Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
1209
1210 * config.bfd: Change linux to default to elf. Using
1211 i[345]86-*-linuxaout will build a library which defaults to a.out.
1212 * config/i386-laout.mt: Rename from old config/i386-linux.mt.
1213 * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
1214 Comment out EXTRALIBS.
1215 * config/i386-lelf.mt: Remove.
1216
75afa884
ILT
1217Wed Mar 29 12:01:30 1995 Ian Lance Taylor <ian@cygnus.com>
1218
21e061e3
ILT
1219 * coff-i960.c (coff_i960_relocate): Cache the section symbol in
1220 the used_by_bfd field of the section, to avoid looping for each
1221 reloc.
1222
75afa884
ILT
1223 * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
1224 "h8300" for consistency with other cpu-* files.
1225
da7bfa91
ILT
1226Tue Mar 28 15:14:11 1995 Ian Lance Taylor <ian@cygnus.com>
1227
661cf374
ILT
1228 * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
1229 sections.
1230 (b_out_get_reloc_upper_bound): Likewise.
1231
da7bfa91
ILT
1232 * linker.c (generic_link_add_symbol_list): Skip constructor
1233 symbols which the main linker code did not do anything with.
1234 (_bfd_generic_link_output_symbols): Use udata.p if it is set,
1235 rather than looking the symbol up in the hash table. Just pass
1236 through constructor symbols for which udata.p is not set. If the
1237 linker defined the symbol, clear the constructor flag.
1238
0cd908d2
JL
1239Tue Mar 21 10:50:32 1995 Jeff Law (law@snake.cs.utah.edu)
1240
1241 * som.c (som_set_reloc_info): Sign extend constants from
1242 R_DATA_OVERRIDE fixups.
1243 * libhppa.h (sign_extend): Renamed from sign_ext. Fix.
1244 (low_sign_extend): Likewise.
1245
da7bfa91
ILT
1246Mon Mar 20 22:39:10 1995 Jeff Law (law@snake.cs.utah.edu)
1247
1248 * som.c (som_slurp_symbol_table): Tighten test to determine
1249 what symbols are section symbols.
1250
03788f05
ILT
1251Sat Mar 18 01:54:45 1995 Ian Lance Taylor <ian@cygnus.com>
1252
1253 * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK.
1254
1255Fri Mar 17 16:29:02 1995 Jeff Law (law@snake.cs.utah.edu)
1256
1257 * som.c (som_bfd_copy_private_section_data): Just return true when
1258 either the input or output section isn't attached to a SOM BFD.
1259 (som_bfd_copy_private_bfd_data): Similarly for BFD private data.
1260
7fe4ed45
ILT
1261Fri Mar 17 11:50:34 1995 Ian Lance Taylor <ian@cygnus.com>
1262
1263 * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
1264 object has already been included, and ignore it the second time.
1265
1266Wed Mar 15 11:56:40 1995 Ian Lance Taylor <ian@cygnus.com>
1267
1268 * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from
1269 complain_overflow_bitfield to complain_overflow_signed.
1270
1271 * libelf.h (bfd_elf32__write_relocs): Don't declare.
1272 (bfd_elf64__write_relocs): Don't declare.
1273
75236adb
KR
1274Tue Mar 14 05:54:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1275
1276 * stab-syms.c (aout_stab_name): Moved aout_stab_names to be local
1277 to this function. Recoded function to stop using table, to
1278 improve performance (on i486-netbsd host). Left old version
1279 intact under "#if 0" for further performance testing.
1280
c4299ed8
ILT
1281Mon Mar 13 13:48:49 1995 Ian Lance Taylor <ian@cygnus.com>
1282
d0421218
ILT
1283 * elfcode.h (write_relocs): Make static. Use PTR argument as a
1284 pointer to a boolean variable set to true if something fails.
1285 Cast to PTR rather than void *.
1286 (sym_is_global): Rewrite for clarity.
1287 (map_program_segments): If the program header size is too small,
1288 call _bfd_error_handler and return failure rather than aborting.
1289 (NAME(bfd_elf,write_object_contents)): Pass boolean variable when
1290 calling write_relocs.
1291 (elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
1292 (struct elf_info_failed): Define.
1293 (NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
1294 blocks. Pass elf_info_failed structure when calling
1295 elf_export_symbol and elf_adjust_dynamic_symbol.
1296 (elf_export_symbol): Treat data argument as elf_info_failed rather
1297 than bfd_link_info. Set failed field on error.
1298 (elf_adjust_dynamic_symbol): Likewise.
1299 (struct elf_finfo_failed): Define.
1300 (elf_bfd_final_link): Pass elf_finfo_failed structure when calling
1301 elf_link_output_extsym. Use BFD_ASSERT rather than abort.
1302 (elf_link_output_extsym): Treat data argument as elf_finfo_failed
1303 rather than elf_final_link_info. Set failed field on error.
1304 (elf_link_input_bfd): Use BFD_ASSERT rather than abort.
1305 (elf_reloc_link_order): Likewise.
1306
f786a73f
ILT
1307 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
1308 out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
1309 section. Solaris 2.4 apparently does not handle empty reloc
1310 information correctly.
1311
c4299ed8
ILT
1312 * archive.c (bsd_write_armap): Cast getuid and getgid results to
1313 long, and print with %ld.
1314
890b53ef
DE
1315start-sanitize-arc
1316Sun Mar 12 05:22:10 1995 Doug Evans <dje@chestnut.cygnus.com>
1317
1318 * elf32-arc.c (elf_arc_howto_table): Relocs with implicit addends
1319 don't work too well with zero src_masks. Correct values.
1320end-sanitize-arc
1321
6a107a28
ILT
1322Fri Mar 10 16:41:05 1995 Ian Lance Taylor <ian@cygnus.com>
1323
1324 * aoutx.h (translate_to_native_sym_flags): Always use the output
1325 section if it is not NULL.
1326
2f675427
ILT
1327Thu Mar 9 15:06:25 1995 Ian Lance Taylor <ian@cygnus.com>
1328
99514eec
ILT
1329 * coffswap.h (coff_swap_scnhdr_out): If the line number count or
1330 the reloc count does not fit, print an error and return 0.
1331 * coffcode.h (coff_write_object_contents): Check return value of
1332 coff_swap_scnhdr_out.
1333 * ecoff.c (_bfd_ecoff_write_object_contents): Check return value
1334 of bfd_coff_swap_scnhdr_out.
1335
0318ed31
ILT
1336 * bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
1337 ANSI_PROTOTYPES.
1338 (bfd_error_handler_type): New global type.
1339 (_bfd_error_program_name): New static variable.
1340 (_bfd_default_error_handler): New static function.
1341 (_bfd_error_handler): New BFD private global variable.
1342 (bfd_set_error_handler): New globally visible function.
1343 (bfd_set_error_program_name): New globally visible function.
1344 * libbfd-in.h (_bfd_error_handler): Declare.
1345 * bfd-in2.h, libbfd.h: Rebuild.
1346
2f675427
ILT
1347 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
1348 and use it instead of bfd_get_symcount. Check r_index after
1349 setting r_extern based on whether this is a base relative reloc.
1350 (NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
1351 instead of bfd_get_symcount.
1352 (NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
1353 swap routines.
1354 * libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
1355 to declaration.
1356 (NAME(aout,swap_std_reloc_in)): Likewise.
1357 * sunos.c (sunos_canonicalize_dynamic_reloc): Pass
1358 info->dynsym_count to reloc swap routines.
1359 * aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
1360 * hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
1361 (MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
1362 routine.
1363 * i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
1364 parameter.
1365 (NAME(lynx,swap_std_reloc_in)): Likewise.
1366 (NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
1367 swap routines.
1368
1369Thu Mar 9 12:04:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1370
1371 * bfd.c (bfd_merge_private_bfd_data): New function vector to be
1372 called by the linker to merge any private bfd data of the input
1373 files and the output file. Used by the PowerPC ELF support to
1374 check whether -mrelocatable is used for all modules.
1375 (bfd_set_private_flags): New function vector to be called by the
1376 assembler to set private flags. Used by the PowerPC ELF support
1377 to set that a particular object file was assembled with the
1378 -mrelocatable option.
1379
1380 * targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the
1381 bfd_merge_private_bfd_data and bfd_set_private_flags function
1382 vectors.
1383
1384 * bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c
1385 changes.
1386
1387 * elf32-ppc.c (ppc_elf_set_private_flags): New function to set the
1388 ELF e_flags field.
1389 (ppc_elf_copy_private_bfd_data): Copy the e_flags field from the
1390 input file to the output file.
1391 (ppc_elf_merge_private_bfd_data): Check for a mismatch between the
1392 e_flags field of all of the linker input files.
1393
1394 * libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the
1395 PowerPC support can check if compataible e_flags are present.
1396
1397 * aout-target.h: Add NOP for the bfd_merge_private_bfd_data
1398 and bfd_set_private_flags function vectors.
1399 * coffcode.h: Ditto.
1400 * elf32-target.h: Ditto.
1401 * elf64-target.h: Ditto.
1402 * libbfd.h: Ditto.
1403 * libecoff.h: Ditto.
1404 * som.c: Ditto.
1405
a48769bf
ILT
1406Wed Mar 8 00:53:54 1995 Ian Lance Taylor <ian@cygnus.com>
1407
0f6020cb
ILT
1408 * cpu-mips.c (arch_info_struct): Add mips:8000 entry.
1409
a48769bf
ILT
1410 * elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as
1411 STB_WEAK rather than STB_GLOBAL.
1412
91766660
DE
1413start-sanitize-arc
1414Tue Mar 7 20:34:43 1995 Doug Evans <dje@chestnut.cygnus.com>
1415
1416 * configure.in (SELECT_VECS): Split bfd_elf32_arc_vec into big/little.
1417 * targets.c (bfd_target_vector): Likewise.
1418 * elf32-arc.c (TARGET_BIG_SYM): Define.
1419 (TARGET_BIG_NAME): Define.
1420 * config/arc-elf.mt (DEFAULT_VECTOR): Set to bfd_elf32_littlearc_vec.
1421 (SELECT_VECS): Add bfd_elf32_bigarc_vec.
1422end-sanitize-arc
1423
d2117860
ILT
1424Tue Mar 7 12:23:47 1995 Ian Lance Taylor <ian@cygnus.com>
1425
f135c692
ILT
1426 * coffcode.h (bfd_coff_backend_data): Add new field
1427 _bfd_coff_adjust_symndx.
1428 (bfd_coff_adjust_symndx): Define.
1429 (coff_adjust_symndx): Define as NULL if not already defined.
1430 (bfd_coff_std_swap_table): Initialize new field to
1431 coff_adjust_symndx.
1432 * cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
1433 is defined.
1434 * coff-a29k.c (coff_a29k_adjust_symndx): New static function.
1435 (coff_adjust_symndx): Define before including coffcode.h.
1436 * libcoff.h: Rebuild.
1437
597e3d58
ILT
1438 * format.c (bfd_check_format_matches): Skip binary_vec when
1439 searching through bfd_target_vector.
1440
d2117860
ILT
1441 * elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking
1442 sh_size.
1443
df168c35
DE
1444Mon Mar 6 23:31:36 1995 Doug Evans <dje@chestnut.cygnus.com>
1445
1446 * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
1447 !SHT_NOBITS ones.
1448
0f4161dd
JL
1449Mon Mar 6 09:53:08 1995 Jeff Law (law@snake.cs.utah.edu)
1450
1451 * cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
1452 machine types.
1453 (bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
1454 structures.
1455 * libhppa.h (enum pa_arch): New enumeration to describe the
1456 different variants of the PA architecture.
1457 * som.c (som_object_setup): Use new enumeration to set machine
1458 type.
1459 (som_finish_writing): If the machine type is PA1.1, then use the
1460 PA1.1 machine identifier in the output file.
1461
773033d2
ILT
1462Thu Mar 2 15:58:24 1995 Ian Lance Taylor <ian@cygnus.com>
1463
0f4161dd
JL
1464 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Treat the index of a
1465 base relative reloc as an index into the symbol table, regardless
1466 of the setting of r_extern.
1467 (NAME(aout,swap_std_reloc_in)): Likewise.
1468
773033d2
ILT
1469 * aoutx.h (NAME(aout,set_section_contents)): Double check that the
1470 caller is writing to a valid section.
1471
c9f92c11
ILT
1472Thu Mar 2 14:37:57 1995 Bryan Ford <baford@cs.utah.edu>
1473
1474 * binary.c: Add support for reading binary files. Loads the raw
1475 contents of the file into a data section and wraps some symbols
1476 around it. The symbols `_binary_<filename>_start' and
1477 `_binary_<filename>_end' indicate the start and end of the data,
1478 while `_binary_<filename>_size' is an absolute symbol whose value
1479 is the size of the data. <filename> is the name of the binary
1480 input file, with all non-alphanumeric characters converted to
1481 underscores.
1482
1483 * archures.c (bfd_arch_get_compatible): Assume users knows what
1484 they're doing if one of the architectures is bfd_arch_unknown.
1485
35983432
MM
1486Wed Mar 1 17:30:46 1995 Michael Meissner <meissner@cygnus.com>
1487
1488 * elf32-ppc.c (elf_powerpc_howto_table): For relocation
1489 R_PPC_GOT16, change complain_on_overflow to be
1490 complain_overflow_signed.
1491
8760f77c
JM
1492Wed Mar 1 11:52:55 1995 Jason Molenda <crash@phydeaux.cygnus.com>
1493
1494 * configure.host: Recognize powerpc-*-aix*.
1495
d842ea0b
ILT
1496Wed Mar 1 11:57:39 1995 Ian Lance Taylor <ian@cygnus.com>
1497
46cde095
ILT
1498 * coff-i960.c (COFF_PAGE_SIZE): Define.
1499
d842ea0b
ILT
1500 * configure.in: Rewrite output of TDEFAULTS to avoid relying on
1501 semantics of single quotes in parameter substitution.
1502
c47c90f4
ILT
1503Tue Feb 28 12:53:09 1995 Ian Lance Taylor <ian@cygnus.com>
1504
afbc1a16
ILT
1505 * elfcode.h (elf_sort_hdrs): Sort empty sections before non-empty
1506 sections, if they have the same VMA.
1507
c47c90f4
ILT
1508 * config.bfd (i[345]86-*-linuxelf*): New target. Use i386-lelf.
1509 (i[345]86-*-gnuelf*): New target. Use i386-gelf.
1510 * config/i386-lelf.mt: New file.
1511 * config/i386-gelf.mt: New file.
1512
490d89a7
KH
1513Mon Feb 27 12:58:25 1995 Kung Hsu <kung@mexican.cygnus.com>
1514
1515 * config.bfd: add a29k-*-vxworks configuration.
1516
1517Wed Feb 22 14:40:26 1995 Ian Lance Taylor <ian@cygnus.com>
1518
1519 * libaout.h (NAME(aout,slurp_reloc_table)): Change declaration to
1520 use reloc_howto_type rather than const struct reloc_howto_struct.
1521
19a68138
ILT
1522Tue Feb 21 18:19:22 1995 Ian Lance Taylor <ian@cygnus.com>
1523
1524 * bout.c (b_out_slurp_reloc_table): Don't return an error if asked
1525 for relocations for the .bss section.
1526
ee4d24c6
JL
1527Tue Feb 21 15:13:05 1995 Jeff Law (law@snake.cs.utah.edu)
1528
1529 * som.c (som_bfd_ar_write_symbol_stuff): Handle objects with odd
1530 lengths.
1531
eaba5169
MM
1532Fri Feb 17 12:34:36 1995 Michael Meissner <meissner@cygnus.com>
1533
1534 * elf32-ppc.c (ppc_elf_got16_reloc): Make GOT style relocs add
1535 32768, so the GOT pointer can point to 16384 pointers, instead of
1536 8192.
1537
6dc6a81a
ILT
1538Fri Feb 17 11:45:38 1995 Ian Lance Taylor <ian@cygnus.com>
1539
ebb6075d
ILT
1540 * hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>.
1541 Only define SEEK_SET and SEEK_CUR if they are not already defined.
1542 Remove all external function declarations.
1543
cd0456a2
ILT
1544 * syms.c (bfd_decode_symclass): Return 'W' for a weak symbol.
1545
6936966a
ILT
1546 * coffgen.c (coff_real_object_p): Set start address and flags
1547 before calling coff_mkobject_hook. Restore them on failure.
1548 * ecoff.c (_bfd_ecoff_mkobject_hook): If not ECOFF_AOUT_ZMAGIC,
1549 clear D_PAGED.
1550
6dc6a81a
ILT
1551 * coffgen.c: Reindented.
1552
b596295f
DE
1553Thu Feb 16 14:37:23 1995 Doug Evans <dje@cygnus.com>
1554
1555 * reloc.c (bfd_perform_relocation): Don't use bitpos in overflow
1556 calculations.
1557 (bfd_install_relocation): Likewise.
1558
fe46552d
ILT
1559Thu Feb 16 13:22:29 1995 Ian Lance Taylor <ian@cygnus.com>
1560
1561 * hosts/std-host.h: Remove all function declarations which return
1562 int or void, except the one for free.
1563
bcbe2c71
MM
1564Wed Feb 15 14:54:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1565
1566 * elf32-ppc.c (elf_powerpc_howto_table): Use a destination mask of
1567 0xffffffff for R_PPC_REL32, not 0.
1568 (powerpc_reloc_map): Add low 16 bit, high 16 bit, and high 16 bit
1569 adjusted relocations.
1570
1571Tue Feb 14 17:47:17 1995 Ian Lance Taylor <ian@cygnus.com>
1572
1573 * elf32-mips.c (struct mips_elf_find_line): Define.
1574 (mips_elf_find_nearest_line): New static function.
1575 (bfd_elf32_find_nearest_line): Define.
1576 * libelf.h (struct elf_obj_tdata): Add find_line_info field.
1577
1578 * ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c.
1579 (_bfd_ecoff_swap_tir_out): Likewise.
1580 (_bfd_ecoff_swap_rndx_in): Likewise.
1581 (_bfd_ecoff_swap_rndx_out): Likewise.
1582 (cmp_fdrtab_entry): Likewise.
1583 (mk_fdrtab): Likewise.
1584 (lookup): Likewise.
1585 (_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line
1586 to do most of the work. Allocate find_line_info if necessary.
1587 * ecofflink.c: Include "aout/stab_gnu.h".
1588 (_bfd_ecoff_swap_tir_in): Move in from ecoff.c.
1589 (_bfd_ecoff_swap_tir_out): Likewise.
1590 (_bfd_ecoff_swap_rndx_in): Likewise.
1591 (_bfd_ecoff_swap_rndx_out): Likewise.
1592 (cmp_fdrtab_entry): Likewise. Use PTR instead of void *.
1593 (mk_fdrtab): Move in from ecoff.c. Add debug_info, debug_swap,
1594 and line_info arguments, and use them instead of ecoff_data.
1595 (fdrtab_lookup): Move in from lookup in ecoff.c. Remove abfd
1596 argument, add line_info argument. Use it instead of ecoff_data.
1597 (_bfd_ecoff_locate_line): New function, mostly from the old
1598 _bfd_ecoff_find_nearest_line in ecoff.c.
1599 * libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and
1600 fdrtab fields, replacing them find_line_info field.
1601 (_bfd_ecoff_swap_tir_in): Declare.
1602 (_bfd_ecoff_swap_tir_out): Declare.
1603 (_bfd_ecoff_swap_rndx_in): Declare.
1604 (_bfd_ecoff_swap_rndx_out): Declare.
1605 * libbfd-in.h (_bfd_ecoff_locate_line): Declare.
1606 * libbfd.h: Rebuild.
1607 * configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or
1608 bfd_elf32_littlemips_vec.
1609 * Makefile.in: Rebuild dependencies.
1610
8c9bfee3
MM
1611Tue Feb 14 14:04:22 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1612
1613 * libelf.h (elf_backend_data): Add fields elf_machine_alt1 and
1614 elf_machine_alt2 which provide alternate versions of the machine
1615 code.
1616
1617 * elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to
1618 recognize old versions of the PowerPC machine code.
1619
1620 * elf32-target.h (elf32_bed): Initialize alternate machine code
1621 fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
1622
1623 * elf64-target.h (elf64_bed): Initialize alternate machine code
1624 fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
1625
1626 * elfcode.h (elf_object_p, elf_core_file_p): In addition to the
1627 main machine code field, check the two alternate machine code
1628 fields.
1629
aed59269
ILT
1630Tue Feb 14 12:46:48 1995 Ian Lance Taylor <ian@cygnus.com>
1631
1632 * aoutf1.h (MACHTYPE_OK): Don't define if already defined. Don't
1633 accept M_SPARC if bfd_arch_sparc is not in the list of supported
1634 architectures, and don't accept a 680x0 machine type if
1635 bfd_arch_m68k is not in the list of supported architectures.
1636 * aout0.c (MACHTYPE_OK): Define.
1637
1f932736
ILT
1638Mon Feb 13 23:25:38 1995 Ian Lance Taylor <ian@cygnus.com>
1639
1640 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Don't return a pointer
1641 to garbage if the symbol index is out of range.
1642 (NAME(aout,swap_std_reloc_in)): Likewise.
1643
866da18e 1644start-sanitize-arc
405affcc
ILT
1645Mon Feb 13 09:35:30 1995 Doug Evans <dje@canuck.cygnus.com>
1646
1647 * elf32-arc.c (reloc_type): New type R_ARC_B26.
1648 (elf_arc_howto_table): Likewise.
1649 * reloc.c (BFD_RELOC_ARC_B26): Likewise.
1650
866da18e
DE
1651Thu Feb 9 17:31:40 1995 Doug Evans <dje@canuck.cygnus.com>
1652
1653 * archures (bfd_mach_arc_base): #define.
1654 (bfd_mach_arc_host, bfd_mach_arc_graphics, bfd_mach_arc_audio): Ditto.
1655 * cpu-arc.c (arch_info_struct): Define entries for each cpu variant.
1656 (bfd_arc_arch): Link each one in.
1657 (arc_get_mach): New function.
1658 * elf32-arc.c (arc_info_to_howto_rel): Renamed from arc_info_to_howto.
1659 (elf_info_to_howto_rel): Update.
1660 (arc_elf_object_p, arc_elf_final_write_processing): New functions.
1661 (elf_backend_object_p): Define.
1662 (elf_backend_final_write_processing): Define.
1663 (USE_REL): Define.
1664end-sanitize-arc
1665
10bf6ddf
KR
1666Thu Feb 9 18:36:52 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1667
1668 * Makefile.in (BFD32_BACKENDS): Add i386msdos.o.
1669
62e5acdc
ILT
1670Thu Feb 9 12:02:35 1995 Ian Lance Taylor <ian@cygnus.com>
1671
c93e959c
ILT
1672 * i386linux.c (NEEDS_SHRLIB): Define.
1673 (linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is
1674 undefined. From hjl@nynexst.com (H.J. Lu).
1675
6581a70a
ILT
1676Wed Feb 8 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com>
1677
1678 * linker.c (generic_link_check_archive_element): Allocate common
1679 symbol information structure. Don't bother to check for common
1680 symbol size overflow.
1681 (_bfd_generic_link_add_one_symbol): Likewise.
1682 * aoutx.h (aout_link_check_ar_symbols): Likewise.
1683 * linker.c (generic_link_check_archive_element): Adjust references
1684 to common symbol information for new structure.
1685 (_bfd_generic_link_add_one_symbol): Likewise.
1686 * aoutx.h (aout_link_check_ar_symbols): Likewise.
1687 (aout_link_add_symbols): Likewise.
1688 * ecoff.c (ecoff_link_add_externals): Likewise.
1689 * elfcode.h (elf_link_add_object_symbols): Likewise.
1690 (elf_link_output_extsym): Likewise.
1691 * sunos.c (sunos_add_one_symbol): Likewise.
1692
121a8465
DE
1693Wed Feb 8 09:53:42 1995 Doug Evans <dje@canuck.cygnus.com>
1694
1695 * elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS.
1696
28860f46
JL
1697Tue Feb 7 16:27:33 1995 Jeff Law (law@snake.cs.utah.edu)
1698
1699 * som.c (som_bfd_find_nearest_line): Just return false, don't
1700 abort.
1701
2559e014
KR
1702Tue Feb 7 14:43:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1703
1704 * ecoff.c: Reformatted some comments and brace constructs in
1705 recent changes to GNU style.
1706 (cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function
1707 definitions.
1708
95b0f14b
ILT
1709Tue Feb 7 14:21:28 1995 Ian Lance Taylor <ian@cygnus.com>
1710
1711 * ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting
1712 any of the fields.
1713
97d5a149
KR
1714Mon Feb 6 20:01:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1715
1716 Sat Feb 4 14:20:24 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
1717
1718 * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added
1719 internalizing/externalizing new "prof" field.
1720
1721 * libecoff.h (ecoff_tdata): added fdrtab.
1722
1723 * ecoff.c (_bfd_ecoff_find_nearest_line): Fixed.
1724
6c97aedf
ILT
1725Mon Feb 6 14:25:24 1995 Ian Lance Taylor <ian@cygnus.com>
1726
59474174
ILT
1727 * libelf.h (struct elf_link_hash_table): Add saw_needed field.
1728 * elfcode.h (elf_link_add_object_symbols): Set saw_needed if
1729 DT_NEEDED seen in .dynamic section.
1730 (elf_link_output_extsym): Warn if an undefined symbol is
1731 only referenced from a dynamic object, and not making a shared
1732 object, and saw_needed is false.
1733 * elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed.
1734
0bef7f72
ILT
1735 * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define.
1736 * elfcode.h (elf_link_add_object_symbols): Don't clear or set
1737 ELF_LINK_HASH_DEFINED_WEAK.
1738 (elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK.
1739
6c97aedf
ILT
1740 Distinguish a weak defined symbol from a regular defined symbol.
1741 * linker.c (enum link_action): Add DEFW.
1742 (link_action): Add bfd_link_hash_defweak column.
1743 (_bfd_generic_link_add_one_symbol): Add DEFW case. Handle
1744 bfd_link_hash_defweak in a few other cases.
1745 * Many files (bfd_link_hash_undefweak): Renamed from
1746 bfd_link_hash_weak.
1747 * aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
1748 (aout_link_write_other_symbol): Likewise.
1749 (aout_link_input_section_std): Likewise.
1750 (aout_link_input_section_ext): Likewise.
1751 * bout.c (get_value): Likewise.
1752 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
1753 * coff-alpha.c (alpha_convert_external_reloc): Likewise.
1754 (alpha_relocate_section): Likewise.
1755 * coff-mips.c (mips_relocate_section): Likewise.
1756 (mips_relax_section): Likewise.
1757 (bfd_mips_ecoff_create_embedded_relocs): Likewise.
1758 * cofflink.c (coff_write_global_sym): Likewise.
1759 (_bfd_coff_generic_relocate_section): Likewise.
1760 * ecoff.c (ecoff_link_add_externals): Likewise.
1761 (ecoff_link_write_external): LIkewise.
1762 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1763 (elf32_hppa_size_stubs): Likewise.
1764 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1765 (elf_i386_relocate_section): Likewise.
1766 (elf_i386_finish_dynamic_symbol): Likewise.
1767 * elf32-mips.c (mips_elf_output_extsym): Likewise.
1768 (mips_elf_relocate_section): Likewise.
1769 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1770 (elf32_sparc_relocate_section): Likewise.
1771 * elfcode.h (elf_link_add_object_symbols): Likewise.
1772 (elf_adjust_dynamic_symbol): Likewise.
1773 (elf_bfd_final_link): Likewise.
1774 (elf_link_output_extsym): Likewise.
1775 * i386linux.c (linux_add_one_symbol): Likewise.
1776 (linux_tally_symbols): Likewise.
1777 (linux_finish_dynamic_link): Likewise.
1778 * linker.c (_bfd_generic_link_output_symbols): Likewise.
1779 (set_symbol_from_hash): Likewise.
1780 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
1781 (bfd_perform_slip): Likewise.
1782 * sunos.c (sunos_add_one_symbol): Likewise.
1783 (sunos_scan_std_relocs): Likewise.
1784 (sunos_scan_ext_relocs): Likewise.
1785 (sunos_scan_dynamic_symbol): Likewise.
1786 (sunos_write_dynamic_symbol): Likewise.
1787
5dc8db48
KR
1788Mon Feb 6 03:20:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1789
1790 Changes from Bryan Ford, baford@schirf.cs.utah.edu:
1791 * config.bfd (i[345]86-*-msdos*): New target.
1792 * configure.in (i386msdos_vec): Handle it.
1793 * i386msdos.c: New file.
1794 * config/i386-msdos.mt: New file.
1795 * bfd.c (enum bfd_error): Added new value bfd_error_file_too_big.
1796 (bfd_errmsgs): Added string to table.
1797 * libaout.h (reloc_type-lookup): Declare it.
1798 * targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour.
1799 (i386msdos_vec): Declare.
1800 (bfd_target_vector): Add it to the list.
1801 * bfd-in2.h: Regenerated.
1802
9ea5de84
JL
1803Wed Feb 1 01:32:14 1995 Jeff Law (law@snake.cs.utah.edu)
1804
5dc8db48
KR
1805 * som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's
1806 nothing in R_DATA_OVERRIDE, then try to find the addend in the
1807 section's contents.
312eb91b 1808 (som_write_fixups): Ignore the addend in a R_DATA_ONE_SYMBOL fixup.
5dc8db48 1809
9ea5de84
JL
1810 * som.c (som_object_setup): More heruistics to detect the
1811 braindamaged HP OSF1 linker.
1812 (setup_sections): Don't forget to free subspace_sections if we get
1813 an error.
1814 (som_slurp_string_table): Allocate strings on this bfd's obstack
1815 rather than directly out of the heap.
1816 (som_slurp_symbol_table): Likewise for the saved copy of the
1817 canonical symbols.
1818 (som_slurp_reloc_table): Likewise for the saved copy of the
1819 canonical relocations. Free the native relocations when we're
1820 done with them.
1821
ef6fb95d
DE
1822Tue Jan 31 21:53:28 1995 Doug Evans <dje@canuck.cygnus.com>
1823
1824 * libelf.h (struct elf_obj_tdata): New member program_header_size.
1825 * elfcode.h (get_program_header_size): New parameters sorted_hdrs,
1826 count, and maxpagesize. All callers updated.
1827 If sorted_hdrs is non-NULL, use it to compute the number of segments.
1828 Save result in case called again.
1829 (assign_file_positions_except_relocs): Sort headers before calling
1830 get_program_header_size.
1831
5945db29
ILT
1832Tue Jan 31 15:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
1833
1834 * elfcode.h (map_program_segments): Add sorted_hdrs parameter.
1835 Search through it rather than through unsorted section headers.
1836 (assign_file_positions_except_relocs): Pass sorted_hdrs to
1837 map_program_segments.
1838
3e461107
KR
1839Mon Jan 30 22:04:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1840
1841 * ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range
1842 checking. Expect argument OFFSET to be section-relative. From
1843 David Mosberger-Tang, davidm@piston.cs.arizona.edu.
1844
1845Mon Jan 30 11:22:11 1995 Ian Lance Taylor <ian@cygnus.com>
1846
1847 * elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do
1848 anything if we are not linking an ELF file.
1849 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
1850
fede9992
JL
1851Sat Jan 28 12:48:57 1995 Jeff Law (law@snake.cs.utah.edu)
1852
8bc3e02c
JL
1853 * som.c (compare_subspaces): New function to sort subspaces by
1854 their location in the object file.
1855 (setup_sections): When computing the index for each subspace,
1856 handle case where setup_sections reads the subspaces in a
1857 different order that they appear in the object file.
1858 (som_is_space): Also examine the output section for the containing
1859 section.
1860 (som_is_subspace, som_is_container): Likewise.
1861 (som_begin_writing): Don't prepare or write fixups here. When
1862 writing the symbol strings, use the unsorted symbol table.
1863 (som_write_object_contents): Don't write the symbol table here.
1864 (som_finish_writing): Prepare and write the fixups here. Likewise
1865 for the symbol table.
1866 (som_bfd_derive_misc_symbol_info): Undefined symbols always have
1867 type SS_UNSAT regardless of BSF_EXPORT.
1868 (som_set_reloc_info): Unpack and attach argument location
1869 information for R_PCREL_CALL and R_ABS_CALL relocations.
1870
fede9992
JL
1871 * som.c (som_object_setup): New heuristic to determine if the
1872 entry and flags fields are switched in the exec header.
1873
cd9dba7b
ILT
1874Sat Jan 28 00:16:01 1995 Ian Lance Taylor <ian@cygnus.com>
1875
1876 * elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead
1877 of h if we might not be doing an ELF link.
1878
6977046f
ILT
1879Fri Jan 27 16:13:42 1995 Ian Lance Taylor <ian@cygnus.com>
1880
cea133af
ILT
1881 * elf32-mips.c (mips_elf_final_link): If the size of an input
1882 .reginfo section is zero, force it to the correct size, since the
1883 linker emulation code may have clobbered it.
1884
6977046f
ILT
1885 * elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test.
1886 (assign_file_positions_except_relocs): Free sorted_hdrs.
1887
61a914c9
SC
1888Thu Jan 26 09:00:12 1995 Steve Chamberlain <sac@splat>
1889
7896128d
SC
1890 * srec.c (srec_set_section_contents): Fix off by
1891 one end address calculation.
1892
61a914c9
SC
1893 * config.bfd: (m68*-est-coff): New configuration.
1894
e83e94ef
ILT
1895Thu Jan 26 11:39:21 1995 Ian Lance Taylor <ian@cygnus.com>
1896
4b412ed1
ILT
1897 * elfcode.h (elf_link_add_object_symbols): Only examine weakdef if
1898 we are using an ELF hash table.
1899
e83e94ef
ILT
1900 * aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if
1901 the start address is in the .text section, even if STAT_FOR_EXEC
1902 is set. Just use STAT_FOR_EXEC as an additional test.
1903
c6d729b3
MM
1904Thu Jan 26 11:12:54 1995 Michael Meissner <meissner@cygnus.com>
1905
1906 * elfcode.h (prep_headers): Use EM_PPC instead of
1907 EM_CYGNUS_POWERPC.
1908
1909 * elf32-ppc.c (reloc_type): Add all System V.4 and eABI
1910 relocations currently defined.
1911 (powerpc_reloc_map): Adjust to new relocation names.
1912 (elf_powerpc_howto_table): Add most of the new relocations.
1913 (ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC.
1914
1915 * config.bfd: Add support for powerpc-*-eabi.
1916
1917 * config/ppc-elf.mt: Add rs6000 architecture support to the
1918 PowerPC. Also add XCOFF support.
1919
e079cfe8
ILT
1920Wed Jan 25 23:26:13 1995 Ian Lance Taylor <ian@cygnus.com>
1921
1922 * coff-sh.c (CALC_ADDEND): Don't define.
1923 (coff_sh_relocate_section): Remove.
1924 (coff_relocate_section): Use _bfd_coff_generic_relocate_section.
1925
16fe8950
ILT
1926Tue Jan 24 14:22:47 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1927
1928 * elf32-mips.c (mips_elf_output_extsym): Set the value of the
1929 ECOFF symbol from the hash table entry.
1930
c525c3af
SC
1931Mon Jan 23 14:53:35 1995 Steve Chamberlain <sac@splat>
1932
1933 * coff-sh.c (coff_sh_relocate_section): Don't subtract
1934 vma twice.
1935
123bfaa5
ILT
1936Mon Jan 23 13:33:18 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1937
6e3acf74
ILT
1938 * coff-sh.c (sh_reloc): Don't ignore the previous contents of an
1939 R_SH_IMM32 reloc.
1940
6e7f3f07
ILT
1941 * config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu.
1942 * config/i386-gnu.mt: New file. Include ELF support.
1943
123bfaa5
ILT
1944 * opncls.c (bfd_openstreamr): Call bfd_cache_init.
1945
04dc16b7
ILT
1946Fri Jan 20 11:44:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1947
1948 * sunos.c (sunos_add_one_symbol): Only set the sunos specific
1949 fields if we are doing a sunos link.
1950
1951Wed Jan 18 12:28:17 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1952
1953 * cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
1954 "h8300" for consistency with other cpu-* files.
1955 (h8300h_info_struct): Change name from "H8/300H" to "h8300h".
1956 * coff-h8300.c (special): Remove unused variable diff.
1957
6a5848cd
ILT
1958Tue Jan 17 10:52:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1959
d01a0278
ILT
1960 * bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
1961 * reloc.c (bfd_byte, reloc_howto_type): here.
1962 * Changed all occurrences of ``const struct reloc_howto_struct''
1963 to be ``reloc_howto_type'' instead.
1964 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
1965
8a51b06c
ILT
1966 * opncls.c (bfd_openstreamr): New function.
1967 * bfd-in2.h: Rebuilt.
1968
6a5848cd
ILT
1969 * elf32-mips.c (enum reloc_type): Define new relocs used on Irix.
1970 (elf_mips_howto_table): Add entries for new relocs.
1971 (mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM,
1972 SHT_MIPS_DWARF, and SHT_MIPS_EVENTS.
1973 (mips_elf_fake_sections): Handle sections named .msym, .debug_*
1974 and .MIPS.events.*.
1975
1976 * srec.c (srec_init): Remove unused local variable i.
1977
c21b376f
SC
1978Sat Jan 14 19:09:48 1995 Steve Chamberlain <sac@jonny>
1979
1980 * archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
1981 config.bfd, configure.in, config/w65.mt: Initial support for the W65.
1982
9560e662
SC
1983Sun Jan 15 13:57:45 1995 Steve Chamberlain <sac@splat>
1984
1985 * opncls.c (bfd_fdopenr): Configure for WIN32.
1986
c3fcc078
KR
1987Thu Jan 12 16:30:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1988
1989 * Makefile.in (diststuff): Include `headers'.
1990
1991 * sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now
1992 const.
1993 * tekhex.c (digs): Ditto.
1994 * elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto.
1995
1996 * srec.c, tekhex.c: Include libiberty.h. Delete static array
1997 hex_value and replace references to it with references to
1998 hex_init, hex_p, and hex_value.
1999 * Makefile.in: Updated dependencies.
2000
2001 * archures.c (archures_init_table): Now const.
2002 (bfd_arch_init): Adjusted type of local var `ptable'.
2003start-sanitize-rce
2004
2005 * Makefile.in (ALL_MACHINES): Include cpu-rce.o.
2006 (BFD32_BACKENDS): Include aout-rce.o.
2007end-sanitize-rce
2008start-sanitize-arc
2009
2010 * Makefile.in (ALL_MACHINES): Include cpu-arc.o.
2011 (BFD32_BACKENDS): Include elf32-arc.o.
2012end-sanitize-arc
2013
b69fe363
PS
2014Thu Jan 12 09:33:24 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2015
2016 * hosts/symmetry.h: Redefine `shared' to enable compilation
2017 with the native Dynix cc compiler.
2018 * i386dynix.c: Include aoutx.h instead of using routines
2019 from aout32.c.
2020
82b1edf7
KR
2021Wed Jan 11 21:31:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2022
2023 * reloc.c (reloc_howto_type): Make typedef include `const'.
2024 * aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c,
2025 coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c,
2026 elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c,
2027 elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c,
2028 reloc.c, som.c: Don't use `const' in combination with
2029 `reloc_howto_type'.
2030start-sanitize-arc
2031 * elf32-arc.c: Ditto.
2032end-sanitize-arc
2033 * bfd-in2.h, libbfd.h: Regenerated.
2034
9c84b228
KR
2035 * ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't
2036 need to be static.
2037
040c913e
ILT
2038Wed Jan 11 14:36:41 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2039
788d9436
ILT
2040 * sunos.c (sunos_add_one_symbol): Don't core dump if a multiple
2041 definition of an absolute symbol is encountered.
2042
040c913e
ILT
2043 * linker.c (_bfd_generic_link_add_one_symbol): Ignore
2044 redefinitions of an absolute symbol to the same value.
2045
f78b3963
ILT
2046Mon Jan 9 15:51:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2047
2048 * elfcode.h (elf_link_add_object_symbols): It's reasonable for no
2049 flags to be set, so don't insist otherwise.
2050
42cf6d79
ILT
2051Fri Jan 6 16:39:40 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2052
2053 * elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an
2054 undefined or common symbol.
2055 (elf_link_add_object_symbols): Likewise.
2056
1b567970
JL
2057Wed Jan 4 14:14:05 1995 Jeff Law (law@snake.cs.utah.edu)
2058
eb57c776
JL
2059 * som.c (bfd_section_from_som_symbol): Only return sections which
2060 correspond to subspaces.
2061
1b567970
JL
2062 * som.c (som_begin_writing): Don't forget to bump the
2063 total_subspaces when writing the unloadable subspaces.
2064
c3a18888
JL
2065Wed Dec 28 20:54:47 1994 Jeff Law (law@snake.cs.utah.edu)
2066
2067 * som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify
2068 bss-like sections.
2069 (som_get_section_contents): Likewise.
2070 (som_set_section_contents): Likewise.
2071
5faa346b
JL
2072Tue Dec 27 14:03:47 1994 Jeff Law (law@snake.cs.utah.edu)
2073
2074 * som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like
2075 sections.
2076
85200ebc
KR
2077Tue Dec 20 15:30:12 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2078
8675437e
KR
2079 * coffgen.c (bfd_debug_section): Deleted.
2080 (coff_section_from_bfd_index): Return absolute section for debug
2081 symbol.
2082 (coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols. If
2083 BSF_DEBUGGING is set, set section to N_DEBUG.
2084 (coff_bfd_make_debug_symbol): Use absolute section.
2085
85200ebc
KR
2086 * elfcode.h (assign_file_positions_except_relocs): In assertion,
2087 force all values to the same type.
2088
e7d9ee90
SC
2089Tue Dec 20 11:11:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2090
2091 * coff-h8300.c (howto_table): All relocs get a special function.
2092 (special): Never do anything when linking -r.
2093
9b09a015
ILT
2094Tue Dec 20 13:58:01 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2095
f10d31aa
ILT
2096 * i386linux.c (linux_add_one_symbol): Don't do anything Linux
2097 specific if this is not a Linux hash table. From Eric Youngdale
2098 <eric@aib.com>.
2099
182b9e9f
ILT
2100 Patches from kkojima@mix.or.jp (Kazumoto Kojima):
2101 * mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
2102 apply to from two bytes to four bytes.
2103 * MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
2104
9b09a015
ILT
2105 * elf32-i386.c (elf_i386_relocate_section): Correct and expand the
2106 list of cases for which relocation need not be computed.
2107 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2108
2109start-sanitize-arc
2110Tue Dec 20 09:01:01 1994 Doug Evans <dje@canuck.cygnus.com>
2111
2112 * elf32-arc.c (elf_arc_howto_table, R_ARC_B22_PCREL): Value is
2113 right-shifted 2 bits. Fix dst_mask.
2114end-sanitize-arc
2115
5874427f
JL
2116Mon Dec 19 23:09:16 1994 Jeff Law (law@snake.cs.utah.edu)
2117
2118 * elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
2119 do_globals arguments, always read symbol extension information for
2120 globals and locals. All callers changed.
2121 (elf32_hppa_size_stubs): Rework to only read symbol extension
2122 information once for each input bfd. 10% improvement in linker
2123 performance.
2124
963747b3
ILT
2125Fri Dec 16 12:28:46 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2126
2127 * elfcode.h (elf_section_from_bfd_section): Check
2128 bfd_is_abs_section, etc., only after checking for the section in
2129 the BFD and after calling the backend routine.
2130
f5202354
ILT
2131Wed Dec 14 20:21:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2132
2133 * elfcode.h (elf_map_symbols): Only use section symbols whose
2f19e36d
ILT
2134 value is the start of the section, checking output_offset when
2135 using output_section. When creating a new symbol, set the value
2136 to 0, since BFD symbol values are section relative.
f5202354 2137
1088e148
ILT
2138Tue Dec 13 13:31:06 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2139
2140 * cpu-z8k.c (arch_info_struct): Make z8002 the default
2141 architecture.
2142
aeec67f0
ILT
2143Fri Dec 9 12:43:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2144
4c124191
ILT
2145 * elfcode.h (elf_bfd_link_add_symbols): If the first object in the
2146 archive is not an ELF object, pass the archive to the add_symbols
2147 entry point appropriate for the first object. From Eric Youngdale
2148 <eric@aib.com>.
a0020ea1
ILT
2149 * aoutx.h (NAME(aout,link_add_symbols)): Similar change if the
2150 first object is not an a.out object.
4c124191 2151
aeec67f0
ILT
2152 * elf32-i386.c (elf_i386_relocate_section): Don't compute
2153 relocation in cases where we won't use it.
2154 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2155
f8368802
KR
2156Thu Dec 8 14:19:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2157
2158 * pc532-mach.c (NAME): Define to use ns32kaout prefix.
2159 * ns32knetbsd.c (NAME): Ditto.
2160 (ns32kaout_32_get_section_contents): Define to standard aout-32
2161 version.
2162
2163Fri Dec 2 13:56:49 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
2164
2165 * coff-mips.c (mips_read_relocs): New static function, broken out
2166 of mips_relax_section.
2167 (mips_relax_section): Call mips_read_relocs.
2168 (bfd_mips_ecoff_create_embedded_relocs): New function.
2169 * bfd-in.h (bfd_mnips_ecoff_create_embedded_relocs): Declare.
2170 * bfd-in2.h: Rebuild.
2171
72985091
ILT
2172Wed Nov 30 14:12:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2173
2174 * coff-sh.c: Use _bfd_dummy_target instead of no_archive.
2175
05cedcf6
DE
2176start-sanitize-arc
2177Tue Nov 29 17:14:21 1994 Doug Evans <dje@canuck.cygnus.com>
2178
2179 * archures.c: Initial support for the ARC.
2180 * reloc.c, targets.c, config.bfd, configure.in, elfcode.h: Likewise.
2181 * bfd-in2.h: Regenerated.
2182 * libbfd.h: Likewise.
20e58678 2183 * config/arc-elf.mt: New file.
05cedcf6
DE
2184end-sanitize-arc
2185
5b0f1ab5
C
2186Tue Nov 29 14:00:19 1994 J.T. Conklin <jtc@.rtl.cygnus.com>
2187
2188 * config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name.
2189 * configure.host (i[345]86-*-freebsd*): Use i386bsd as my_host.
2190
382229dc
C
2191Mon Nov 28 15:36:04 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
2192
2193 * config/m68k-nbsd.mt (DEFAULT_VECTOR): set to m68knetbsd_vec.
2194 * Makefile.in: Rebuilt dependancies.
2195 (CFILES): Added m68knetbsd.c.
2196 (HFILES): Added netbsd.h.
2197
7a1d4567
SC
2198Wed Nov 23 19:21:41 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2199
2200 * coff-sh.c (shlcoff_vec): New target vector.
2201 (no_archive): New function.
2202 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle
2203 little endian SH.
2204 * configure.in: Handle shl.
2205 * targets.c (bfd_target_vector): Add shlcoff_vec.
2206 * config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
2207
2208Wed Nov 23 10:50:13 1994 Jeff Law (law@snake.cs.utah.edu)
2209
2210 * elfcode.h (write_relocs): Do not subtract the section's vma from
2211 the reloc's offset when writing .o's. Instead add the section's
2212 vma to the reloc's offset when writing an executable or shared
2213 library.
2214
150bd991
JL
2215Tue Nov 22 23:34:37 1994 Jeff Law (law@snake.cs.utah.edu)
2216
2217 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
2218 input_section->vma to the relocation's offset.
2219
ba3eb9c0
ILT
2220Mon Nov 21 12:37:25 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2221
2222 * srec.c (srec_get_reloc_upper_bound): Define.
2223 (srec_canonicalize_reloc): Define.
2224 (srec_bfd_reloc_type_lookup): Define.
2225 (srec_vec, symbolsrec_vec): Use BFD_JUMP_TABLE_RELOCS (srec).
2226
ae4471f6
PS
2227Sat Nov 19 03:10:51 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2228
2229 * configure.host (i[345]86-*-solaris*): Use solaris2 to
2230 enable extraction of procfs info from core file for GDB.
2231
fca2b81b
KR
2232Thu Nov 17 17:37:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2233
2234 * reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL.
2235 * bfd-in2.h, libbfd.h: Rebuilt.
2236
b68a74d1
JL
2237Thu Nov 17 13:12:08 1994 Jeff Law (law@snake.cs.utah.edu)
2238
2239 * bfd/elf32-hppa.c (elf32_hppa_bfd_final_link_relocated): Use the
2240 vma from the output_section containing $global$ when computing
2241 global_vlaue.
2242
cf9557f5
ILT
2243Thu Nov 17 14:29:13 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2244
2245 * archive.c (_bfd_write_archive_contents): Round up the archive
2246 header size of the extended name table to an even number.
2247
f6f350fe
KR
2248Wed Nov 16 16:08:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2249
2250 * coff-sh.c: Deleted some code that was commented out or inside
2251 "#if 0".
2252 (COFF_LONG_FILENAMES): Define.
2253
2254 * cpu-sh.c (arch_info_struct): Convert name to lowercase, for
2255 consistency with other architectures.
2256
e6fb0df7
ILT
2257Sat Nov 12 23:50:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2258
2259 * elfcode.h (elf_export_symbol): Also export symbols which are
2260 referenced by a regular file.
2261
11bb5591
ILT
2262Fri Nov 11 14:29:31 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2263
2264 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add
2265 export_dynamic argument, and handle it.
2266 (elf_export_symbol): New function.
2267 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
2268 (bfd_elf64_size_dynamic_sections): Update declaration.
2269 * bfd-in2.h: Rebuild.
2270
63ba709f
JL
2271Fri Nov 11 10:35:33 1994 Jeff Law (law@snake.cs.utah.edu)
2272
2273 * hpux-core.c (hpux_core_struct): Delete handles for the
2274 data, reg and stack sections. They're never used. Delete
2275 accessor macros.
2276 (make_bfd_asection): Use bfd_make_section_anyway since debugging
2277 cores from dynamic executables may have several sections with the
2278 same logical name.
2279 (hpux_core_core_file_p): Don't save handles to data, reg and
2280 stack sections. Handle CORE_TEXT, CORE_MMF and CORE_SHM.
2281
0631def3
ILT
2282Tue Nov 8 13:03:30 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2283
2284 * bout.c (callj_callback): Add new argument shrinking. Change all
2285 callers. Handle relocs against section symbols correctly. If not
2286 shrinking, don't subtract out dstidx; the subtraction is already
2287 in the object file.
2288
2289Sun Nov 6 12:52:00 1994 Jeff Law (law@snake.cs.utah.edu)
2290
2291 * som.h: Conditionally include <shl.h> and <dl.h>.
2292
2c5cdec2
KR
2293Thu Nov 3 18:19:13 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2294
1ef625b7
KR
2295 * Makefile.in (ALL_MACHINES): Include m68knetbsd.o.
2296
2c5cdec2
KR
2297 * config/i386linux.mh (EXTRALIBS): Include -lm.
2298
72f2e984
KR
2299 Patches from DJ Delorie:
2300 * coff-go32.c: Replacement file, uses coff-i386.c with minor
2301 changes.
2302 * coff-i386.c (TARGET_UNDERSCORE): allow other files to override
2303 underscore also
2304 * makefile.dos: del ctor.o, add cofflink.o and elf32.o
2305
9e6473f5
KR
2306 * aoutx.h (adjust_o_magic): If user set data section vma, use it
2307 to determine the default bss vma. Patch from Takada Hiroaki,
2308 hiro@is.s.u-tokyo.ac.jp.
2309 (machine_type, case bfd_arch_vax): Set *unknown to false. Patch
2310 from John David Anglin <dave@hiauly1.hia.nrc.ca>.
2311
30d1f88c
KR
2312 * configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec,
2313 since that's what it's called.
2314
9cb8eb5c
ILT
2315Wed Nov 2 15:24:51 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2316
2317 * archive.c (normalize): Change to take a BFD as an argument.
2318 Change VMS version to use bfd_alloc rather than malloc, so that we
2319 don't lose the memory forever.
2320 (_bfd_construct_extended_name_table): Check the name of an archive
2321 entry which is not being extended, and correct it if it is wrong.
2322 This is necessary in case the archive was constructed by another
2323 program which put an entry in the extended name table which we
2324 don't plan to put in ourselves. From jjc@jclark.com (James
2325 Clark).
2326 (bfd_dont_truncate_arname): Check return value of normalize.
2327
2d2d08ed
ILT
2328Mon Oct 31 14:19:08 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2329
b531cfe9
ILT
2330 * elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
2331 (ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
2332 (symextn_entry): Don't define.
2333 (symext_chain_size): Change type to bfd_size_type.
2334 (symextn_contents): Change type to bfd_byte *.
2335 (elf32_hppa_backend_begin_write_processing): Use
2336 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
2337 (elf32_hppa_size_symext): Likewise. Also, change type of sizep to
2338 bfd_size_type *.
2339 (elf_hppa_tc_make_sections): Cast symextn_contents assignment to
2340 bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment.
2341 (elf32_hppa_backend_symbol_table_processing): Use
2342 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use
2343 ELF32_PARISC_SX_GET insetad of direct assignment.
2344 (elf32_hppa_read_symext_info): Change type of contents, and its
2345 assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead
2346 of sizeof (symextn_entry). Use symext_entryS instead of
2347 symextn_entry. Use ELF32_PARISC_SX_GET instead of direct
2348 assignment.
2349
da6c4a8b
ILT
2350 * archive.c (bfd_dont_truncate_arname): Add the ar padding
2351 character, if there is room for it, even if the name is the
2352 maximum length.
2353
2d2d08ed
ILT
2354 * elfcode.h (assign_file_positions_except_relocs): Sort the ELF
2355 headers by section address when assigning file positions.
2356 (elf_sort_hdrs): New static function.
2357
197e30e5
ILT
2358Sun Oct 30 18:56:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2359
2360 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
2361 and DT_FINI dynamic entries based on the existence of _init and
2362 _fini symbols, not on the .init and .fini sections. This is
2363 compatible with some SVR4 linkers.
2364 (elf_bfd_final_link): Corresponding change.
2365
54f16fc4
ILT
2366Sat Oct 29 12:18:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2367
dd421917
ILT
2368 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
2369 symbol with a PLT entry into the .plt section if it is defined in
2370 a regular file.
2371 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2372
54f16fc4
ILT
2373 * linker.c (_bfd_generic_link_add_archive_symbols): It's not an
2374 error if an empty archive has no symbol table.
2375 * ecoff.c (ecoff_link_add_archive_symbols): Likewise.
2376 * elfcode.h (elf_link_add_archive_symbols): Likewise.
2377
ec35a1c2
C
2378Fri Oct 28 10:08:41 1994 J.T. Conklin (jtc@rtl.cygnus.com)
2379
2380 NetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
2381 * config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
2382 * configure.in (m68knetbsd_vec): Added.
2383 * targets.c (bfd_m68knetbsd_vec): Added.
2384 * hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
2385 * Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
2386
2387 miscellaneous cleanup required by all netbsd targets, based on work
2388 by Andrew Cagney <cagney@highland.com.au>:
2389 * netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
2390 N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out
2391 definitions work.
2392 * i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
2393 (MY(write_object_contents)): Use NetBSD's magic numbers
2394
14cac507
ILT
2395Thu Oct 27 16:59:52 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2396
2397 * libelf.h (struct bfd_elf_section_data): Add field dynindx.
2398 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
2399 the .dynsym, .dynstr or .hash sections until after the backend
2400 size_dynamic_sections routine, so that it can add dynamic symbols
2401 if it wants to.
2402 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
2403 symbol to be in the .plt section when generating a shared library
2404 if it is a defined symbol.
2405 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2406 (elf32_sparc_size_dynamic_sections): When generating a shared
2407 library, allocate space for a dynamic symbol for each output
2408 section, storing the index in the dynindx field of the ELF section
2409 data. Adjust the other dynindx fields to account for this.
2410 (elf32_sparc_adjust_dynindx): New static function.
2411 (elf32_sparc_relocate_section): When copying a reloc into a shared
2412 library, use the original addend as appropriate. Convert an
2413 R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic
2414 symbol index of the output section, not the normal symbol index.
2415 (elf32_sparc_finish_dynamic_sections): Don't die if a section does
2416 not exist when setting the value of the dynamic tags. Write out
2417 a dynamic symbol for each output section.
2418
875e4716
ILT
2419Wed Oct 26 01:15:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2420
2421 * aoutx.h (aout_link_input_section): Don't bother to read or write
2422 the relocs if there aren't any.
2423
9c26be63
ILT
2424Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2425
875e4716
ILT
2426 * Makefile.in (ALL_MACHINES): Add tekhex.o.
2427 * targets.c (bfd_target_vector): If SELECT_VECS is not defined,
2428 include tekhex_vec.
2429 * tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
2430 (getvalue, getsym, out): Likewise.
2431 (find_chunk): Remove unused variable s.
2432 (first_phase): Remove unused variable s.
2433 (pass_over): Remove unused variable address.
2434 (tekhex_object_p): Remove unused variable section.
2435 (move_section_contents): Change return type from boolean to void.
2436 (tekhex_write_object_contents): Remove unused variables tdata and
2437 list.
2438
9c26be63
ILT
2439 * linker.c (enum link_action): Add CIND.
2440 (link_action): Change COMMON_ROW\indr from MDEF to CREF. Change
2441 INDR_ROW\common from MDEF to CIND.
2442 (_bfd_generic_link_add_one_symbol): In CREF case, handle an
2443 existing symbol which is indirect rather than defined. Add new
2444 CIND case.
2445
a56f23ae
ILT
2446Mon Oct 24 15:33:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2447
fd9a6abc
ILT
2448 Change S-record backend to use multiple sections to handle gaps in
2449 file.
2450 * srec.c (srec_data_list_struct): Move field next from last place
2451 to first. Change type of data to bfd_byte *.
2452 (struct srec_symbol): Define.
2453 (tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
2454 string_size, string_idx. Change type of symbols to struct
2455 srec_symbol *. Add symtail and csymbols.
2456 (low, high): Remove.
2457 (size_symbols, fillup_symbols, size_srec, fillup): Remove.
2458 (white, skipwhite, pass_over, object_p): Remove.
2459 (srec_mkobject): Call srec_init. Adjust tdata initialization for
2460 field changes.
2461 (srec_get_byte, srec_bad_byte): New static functions.
2462 (srec_new_symbol, srec_scan): New static functions.
2463 (srec_object_p): Change type of b to bfd_byte. Explicitly set
2464 wrong_format error. Call srec_mkobject and srec_scan instead of
2465 object_p.
2466 (symbolsrec_object_p): Likewise. Also, change b to be only two
2467 bytes.
2468 (srec_read_section): New static function.
2469 (srec_get_section_contents): Call srec_read_section rather than
2470 pass_over. Handle zero length section correctly.
2471 (set_set_arch_mach): Change from function to macro.
2472 (srec_set_section_contents): Change data to bfd_byte *.
2473 (srec_write_record): Change data, end and src to bfd_byte *.
2474 (srec_write_header): Change buffer and dst to bfd_byte *.
2475 (srec_write_section): Change location to bfd_byte *.
2476 (srec_write_terminator): Change buffer to bfd_byte *.
2477 (srec_get_symtab_upper_bound): Don't call
2478 srec_get_section_contents.
2479 (srec_get_symtab): Rewrite.
2480
a56f23ae
ILT
2481 * ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
2482
32399d32
C
2483Fri Oct 21 16:43:13 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
2484
2485 * libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
2486 * i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
2487 changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
2488 consistant with each other.
2489 * netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
2490 header into the start of its text segment.
2491
12662be4
ILT
2492Fri Oct 21 17:13:07 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2493
cd9782e8
ILT
2494 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
2495 _construct_extended_name_table.
2496 (bfd_target): Add _bfd_construct_extended_name_table.
2497 * archive.c (_bfd_archive_bsd_construct_extended_name_table): New
2498 function.
2499 (_bfd_archive_coff_construct_extended_name_table): New function.
2500 (_bfd_construct_extended_name_table): Renamed by adding a leading
2501 underscore, and made externally visible. Added trailing_slash
2502 argument, and used it instead of elf_style. Changed type of
2503 tablen to bfd_size_type *.
2504 (_bfd_write_archive_contents): Use BFD_SEND to call
2505 construct_extended_name_table. Use the returned name.
2506 * libbfd-in.h (_bfd_construct_extended_name_table): Declare.
2507 (_bfd_noarchive_construct_extended_name_table): Define.
2508 (_bfd_archive_bsd_construct_extended_name_table): Declare.
2509 (_bfd_archive_coff_construct_extended_name_table): Declare.
2510 * bfd-in2.h: Rebuild.
2511 * libbfd.h: Rebuild.
2512 * som.c (som_construct_extended_name_table): New static function.
2513 * aout-target.h (MY_construct_extended_name_table): Define.
2514 * coff-rs6000.c (rs6000coff_construct_extended_name_table):
2515 Define.
2516 * ieee.c (ieee_construct_extended_name_table): Define.
2517 * libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
2518 * oasys.c (oasys_construct_extended_name_table): Define.
2519
12662be4
ILT
2520 Fix the ELF linker to not require an interpreter if no dynamic
2521 objects were seen, even when linking PIC code.
2522 * libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
2523 (struct elf_link_hash_table): Add field dynamic_sections_created.
2524 * elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
2525 doesn't already exist.
2526 (elf_link_add_object_symbols): Create dynamic sections based on
2527 dynamic_sections_created field, not dynobj field. Don't bother to
2528 set dynobj.
2529 (elf_link_create_dynamic_sections): If dynamic sections were
2530 already created, don't do anything. If dynobj is already set, use
2531 it; otherwise, set it to the bfd argument. Don't initialize
2532 dynsymcount. Only create dynstr if it does not exist. Set
2533 dynamic_sections_created to true.
2534 (NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
2535 if no dynamic objects were seen.
2536 (elf_adjust_dynamic_symbol): If a symbol has the
2537 ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
2538 (elf_bfd_final_link): Change most decisions based on dynobj to
2539 check dynamic_sections_created instead.
2540 (elf_link_output_extsym): Only handle dynamic symbols if a dynamic
2541 object was seen.
2542 * elf.c (_bfd_elf_link_hash_table_init): Initialize new field
2543 dynamic_sections_created. Set dynsymcount to 1, not 0.
2544 * elf32-i386.c (elf_i386_create_dynamic_sections): Call
2545 elf_i386_create_got_section rather than creating the .got and
2546 .got.plt sections.
2547 (elf_i386_create_got_section): New static function.
2548 (elf_i386_check_relocs): Just call elf_i386_create_got_section if
2549 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
2550 Only create the .rel.got section, and only make space for a reloc,
2551 for a global symbol or when generating a shared object. For a
2552 R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
2553 (elf_i386_adjust_dynamic_symbol): Rework initial assertion to
2554 permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols. Create a
2555 procedure linkage table entry for such symbols. But, if no
2556 dynamic objects were seen, never create a PLT entry.
2557 (elf_i386_size_dynamic_sections): If no dynamic objects were seen,
2558 skip most of this function, and force the size of the .rel.got
2559 section to zero.
2560 (elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
2561 symbol when no dynamic object was seen, initialize the contents of
2562 the .got section. For a R_386_GOT32 against a local symbol, only
2563 create a R_386_RELATIVE reloc when generating a shared object.
2564 Treat a R_386_PLT32 reloc against a symbol for which we did not
2565 create a PLT entry as a R_386_PC32 reloc.
2566 (elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
2567 entries and the PLT if we saw a dynamic object.
2568 * elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
2569 setting rightshift to 10. Fix R_SPARC_WPLT20 by setting
2570 rightshift to 2, size to 2, bitsize to 30, and dst_mask to
2571 0x3fffffff.
2572 (elf32_sparc_create_dynamic_sections): Don't set the size of the
2573 .plt section. Call elf32_sparc_create_got_section rather than
2574 creating the .got section.
2575 (elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
2576 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
2577 Only create the .rela.got section, and only make space for a
2578 reloc, for a global symbol or when generating a shared object.
2579 Set the alignment of the .rela.got section to 2. For a
2580 R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
2581 (elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
2582 permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols. Create a
2583 procedure linkage table for such symbols. But, if no dynamic
2584 objects were seen, never create a PLT entry. Initialize the size
2585 of the .plt section.
2586 (elf32_sparc_size_dynamic_sections): If no dynamic objects were
2587 seen, skip most of this function, and force the size of the
2588 .rela.got section to zero. Strip empty reloc sections, and strip
2589 an empty .plt section.
2590 (elf32_sparc_relocate_section): For a GOT reloc against a global
2591 symbol when no dynamic object was seen, initialize the contents of
2592 the .got section. For a GOT reloc against a local symbol, only
2593 create a R_SPARC_RELATIVE reloc when generating a shared object.
2594 Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
2595 create a PLT entry as a R_SPARC_WDISP30 reloc.
2596 (elf32_sparc_finish_dynamic_sections): Only fiddle with the
2597 dynamic entries and the PLT if we saw a dynamic object.
2598
e4a4da62
ILT
2599Thu Oct 20 13:28:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2600
2601 * elfcode.h (elf_map_symbols): Don't worry about section symbols
2602 in a section not owned by any BFD.
2603 (elf_section_from_bfd_section): Separate out loop which calls
2604 backend routine. Check bfd_section and call the backend routine
2605 even for a section not owned by any BFD.
2606 * elf32-mips.c (mips_elf_section_from_bfd_section): Handle
2607 .acommon section.
2608
dab08441
JK
2609Wed Oct 19 13:28:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
2610
2611 * coffgen.c (coff_print_symbol): Make names for section number and
2612 storage class slightly more verbose. It's not clear how many
2613 characters I can justify using up, but before this change they
2614 both were abbreviated "sc" which is (IMHO) clearly unacceptable.
2615
74942465
ILT
2616Wed Oct 19 01:26:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2617
8b65c393
ILT
2618 * binary.c (binary_set_section_contents): Set the base file
2619 position from the lowest section VMA, not the start address.
2620
74942465
ILT
2621 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
2622 if there are no symbols.
2623 * coffgen.c (coff_get_normalized_symtab): Likewise.
2624 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
2625
d4d16683
ILT
2626Tue Oct 18 12:56:43 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2627
c768bd3f
ILT
2628 * aout-target.h (MY_bfd_copy_private_section_data): Only copy
2629 subformat to another bfd_target_aout_flavour file.
2630
2631 * binary.c: New file for raw binary output format.
2632 * Makefile.in (BFD_LIBS): Add binary.o.
2633 (CFILES): Add binary.c.
2634 * targets.c (binary_vec): Declare.
2635 (bfd_target_vector): Include binary_vec.
2636
d4d16683
ILT
2637 * srec.c (tdata_type): Add field tail.
2638 (srec_mkobject): Initialize tail.
2639 (srec_set_section_contents): Sort S record list by address.
2640
5e643795
ILT
2641Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2642
b7881f82
ILT
2643 * elfcode.h (elf_map_symbols): Sort the symbols into a new array,
2644 rather than messing with Elf_Sym_Extra. Store the symbol index in
2645 the udata.i field.
2646 (swap_out_syms): Use outbound_syms as a pointer rather than as an
2647 array. Don't worry about elf_sym_num.
2648 * libelf.h (struct elf_sym_extra): Don't define.
2649 (Elf_Sym_Extra): Don't define.
2650 (struct elf_obj_tdata): Remove sym_extra field.
2651 (elf_sym_extra): Don't define.
2652 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
2653 udata.i rather than elf_sym_extra array.
2654
2655 * syms.c (asymbol): Change udata field into a union.
2656 * bfd-in2.h: Rebuild.
2657 * aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
2658 than just udata.
2659 * bout.c (perform_slip): Likewise.
2660 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
2661 * ieee.c (ieee_slurp_external_symbols): Likewise.
2662 * linker.c (generic_link_add_symbol_list): Likewise.
2663 (default_indirect_link_order): Likewise.
2664 * oasys.c (oasys_slurp_symbol_table): Likewise.
2665 * reloc16.c (bfd_perform_slip): Likewise.
2666 * srec.c (fillup_symbols): Likewise.
2667 * coffcode.h (get_index): Use udata.i rather than just udata.
2668 (coff_slurp_symbol_table): Likewise.
2669 * coffgen.c (set_index): Likewise.
2670 * ecoff.c (ecoff_set_symbol_info): Likewise.
2671 * elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
2672 * libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
2673 * som.c (compare_syms): Likewise.
2674 (som_prep_for_fixups): Likewise.
2675 (som_write_fixups): Likewise.
2676
eb4267a3
ILT
2677 Use a hash table when writing out ELF symbol names.
2678 * elfcode.h (elf_stringtab_init): New static function.
2679 (bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
2680 Change all callers to use elf_stringtab_init or
2681 _bfd_stringtab_add, and get stringtab lengths using
2682 _bfd_stringtab_size.
2683 (elf_fake_sections): Change ignored argument to pointer to
2684 boolean, and set the boolean to true if an error occurs. If an
2685 error has already occurred, don't do anything.
2686 (assign_section_numbers): Just set sh_size, not contents.
2687 (elf_compute_section_file_positions): Pass the address of a
2688 boolean to elf_fake_sections. Pass the address of a
2689 bfd_strtab_hash to swap_out_syms. Write out the .strtab section.
2690 (prep_headers): Change shstrtab to bfd_strtab_hash.
2691 (swap_out_syms): Take a pointer to a bfd_strtab_hash as an
2692 argument. Set it to the symbol names.
2693 (NAME(bfd_elf,write_object_contents)): Write out the section
2694 header names using _bfd_stringtab_emit.
2695 (elf_debug_section): Remove first argument; get the section name
2696 via the bfd_section pointer. Change caller.
2697 (elf_bfd_final_link): Write out the symbol names using
2698 _bfd_stringtab_emit. Likewise for the .dynstr section contents.
2699 Free the symbol names at the end of the function.
2700 (elf_link_input_bfd): Remove the last argument, output_names,
2701 from relocate_section. Save the old symbol contents before
2702 calling elf_link_output_sym, and restore them afterward.
2703 * libelf.h (struct elf_link_hash_table): Change dynstr field to
2704 struct bfd_strtab_hash.
2705 (struct elf_backend_data): Remove last argument, output_names,
2706 from elf_backend_relocate_section field.
2707 (struct strtab): Don't define.
2708 (struct elf_obj_tdata): Change strtab_ptr field to struct
2709 bfd_strtab_hash.
2710 * elf32-hppa.c (elf32_hppa_relocate_section): Remove last
2711 argument, output_names.
2712 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2713 * elf32-mips.c (mips_elf_relocate_section): Likewise.
2714 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2715
cb066aa9
ILT
2716 * libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
2717 (bfd_add_to_string_table): Don't declare.
2718 * libbfd.h: Rebuild.
2719 * libbfd.c (bfd_add_to_string_table): Remove.
2720
a3377a65 2721 * elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
24f13b03
ILT
2722 Clear contents field.
2723 (bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
2724 not rawdata. Don't set rawdata if e_shstrndx. Use bfd_section
2725 rather than rawdata in commented out code. In SHT_REL[A] case,
2726 don't bother to check elf_section_data of section returned by
2727 section_from_elf_index.
2728 (elf_fake_sections): Set bfd_section, not rawdata. Don't set
2729 size.
2730 (elf_map_symbols): Don't set elf_num_section_syms. Don't create
2731 section symbols that already exist.
2732 (assign_file_position_for_section): Use bfd_section, not rawdata.
2733 (section_from_elf_index): Just check bfd_section field.
2734 (elf_section_from_bfd_section): Likewise.
2735 (elf_debug_section): Don't print rawdata, contents, or size.
2736 (elf_link_add_object_symbols): Don't error out if
2737 section_from_elf_index returns NULL.
2738 (elf_bfd_final_link): Check return value from
2739 section_from_elf_index against NULL, not bfd_is_abs_section.
2740 (elf_link_input_bfd): Don't check section_from_elf_index return
2741 value.
2742 * libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
2743 (elf_num_section_syms): Don't define.
2744 * elf.c (elf_get_str_section): Store section contents in contents
2745 field rather than rawdata field.
2746 (elf_string_from_elf_section): Likewise.
2747 (_bfd_elf_make_section_from_shdr): Store BFD section pointer in
2748 bfd_section field rather than rawdata field.
2749 * elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
2750 rather than rawdata.
2751 (elf32_hppa_size_stubs): Likewise.
b7881f82
ILT
2752 (elf32_hppa_backend_symbol_table_processing): Don't set
2753 symextn_hdr->size; just use sh_size.
24f13b03
ILT
2754 * elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
2755 rathern than rawdata.
2756 (mips_elf_section_from_shdr): Likewise.
2757 (mips_elf_section_processing): Likewise.
2758 (mips_elf_section_from_bfd_section): Remove rawdata check.
2759
5e643795
ILT
2760 * srec.c (pass_over): Set the start address for S7, S8 or S9.
2761
f10abb42
KR
2762Fri Oct 14 19:15:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2763
2764 * VERSION: Updated to 2.5.
2765
61c94e5e
ILT
2766Fri Oct 14 11:07:50 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2767
2768 * bfd.c (bfd_scan_vma): Cast end to be non const before passing it
2769 to strtoul.
2770
82735983
ILT
2771Thu Oct 13 14:40:41 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2772
2773 * bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
2774
ef4b8f66
KR
2775Wed Oct 12 16:46:43 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2776
2777 * opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
2778 would make it slow. Besides, it isn't used much.
2779 * elfcode.h (elf_map_symbols): Always allocate new storage for the
2780 symbol table.
2781
bf42caf3
ILT
2782Wed Oct 12 11:54:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2783
82735983
ILT
2784 * ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
2785 stabs symbols as BSF_DEBUGGING.
7b18561f 2786
17d9e203
ILT
2787 * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
2788 str1 and str2 const pointers.
2789
bf42caf3
ILT
2790 * Makefile.in (INSTALL): Use top level install.sh script.
2791 * config/README (INSTALL): Remove.
2792 * config/delta88.mh (INSTALL): Remove.
2793 * config/i386v4.mh (INSTALL): Remove.
2794 * config/irix4.mh (INSTALL): Remove.
2795 * config/irix5.mh (INSTALL): Remove.
2796 * config/ncrt3000.mh (INSTALL): Remove.
2797
b2bcf39c
ILT
2798Tue Oct 11 13:57:56 1994 Eric Youngdale (eric@andante.aib.com)
2799
2800 * elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
2801 with a global offset table entry or a procedure linkage table
2802 entry is added to the dynamic symbol table.
2803 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
2804 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
2805 already gotten a procedure linkage table entry, change the
2806 definition to the PLT entry.
2807 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2808
9a406d86
ILT
2809Tue Oct 11 17:12:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2810
2811 * lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
2812 dumping the .data section in a core file at a page boundary.
2813
4fbc96ad
KR
2814Mon Oct 10 16:24:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2815
4c032270
KR
2816 * cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
2817 to correct type.
2818 (coff_read_string_table): Cast argument to bfd_h_get_32 to correct
2819 type.
2820 * elfcode.h (elf_link_output_extsym): Cast argument to
2821 bfd_elf_hash to correct type.
2822
4fbc96ad
KR
2823 * elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
2824 WPLT30 relocations are PC-relative.
2825
2826Thu Oct 6 12:57:26 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
2827
2828 * aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
2829 the text section was user-defined.
2830
66e4e649
ILT
2831Wed Oct 5 14:42:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2832
2833 * archive.c (bfd_construct_extended_name_table): SVR4 uses slash
2834 newline at the end of the file name, not just newline.
2835
dfaf9ef6
ILT
2836Tue Oct 4 11:23:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2837
ea4849d5
ILT
2838 * ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
2839 power to 4, rather than using align_power_min.
2840
28d19d03
ILT
2841 * coffcode.h (coff_new_section_hook): Don't use align_power_min;
2842 use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead. Force the .stab
2843 and .stabstr sections to be aligned to no more than 2. Remove
2844 COFF_SPARC special cases.
2845 * coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
2846 * coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
2847 * coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
2848 * coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
2849 * coff-we32k.c, coff-z8k.c: Likewise.
2850
995b0d3f
ILT
2851 * configure.in: Use ${config_shell} when running config.bfd.
2852
a297d42c
ILT
2853 * cofflink.c (coff_link_input_bfd): Don't try to convert a long
2854 filename if the offset field is zero.
2855
dfaf9ef6
ILT
2856 * elfcode.h (swap_out_syms): If the alignment of a common symbol
2857 was not set, use a sensible default rather than zero.
2858
995b0d3f 2859Mon Oct 3 16:04:29 1994 H.J. Lu (hjl@nynexst.com)
dfaf9ef6
ILT
2860
2861 * opncls.c (bfd_close): Honor umask when setting execution bits.
2862 (bfd_close_all_done): Likewise.
2863
7a6c910e
PS
2864Mon Oct 3 04:41:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2865
2866 * rs6000-core.c (rs6000coff_core_p): Set SEC_HAS_CONTENTS flag
2867 for .stack and .ldinfo sections. Cast coredata.c_tab to a
2868 file_ptr to avoid warnings from gcc.
2869
fb562be0
ILT
2870Fri Sep 30 13:11:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2871
2872 * elfcode.h (elf_bfd_final_link): Remove assertion when a non
2873 SEC_IN_MEMORY section is found in dynobj. This can happen when
2874 linking PIC compiled code.
2875
9afa408e
KR
2876Thu Sep 29 15:21:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2877
12cf5d98 2878 * reloc.c (bfd_install_relocation): Change type of "data" to
85f34090
KR
2879 bfd_byte *, to go along with yesterday's change.
2880
64e21e0f
KR
2881 * elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
2882 in elfcode.h. (case bfd_print_symbol_all): Print symbol's size
2883 field, except for common symbols; print their alignment.
2884 * elfcode.h (elf_print_symbol): Deleted.
2885 * libelf.h (bfd_elf_print_symbol): Declare.
2886 (bfd_elf{32,64}_print_symbol): Replace declarations with macros.
2887
9afa408e
KR
2888 * syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
2889 in one column. Use the column freed up to show BSF_FUNCTION and
2890 BSF_FILE.
2891
ec591fcf
ILT
2892Thu Sep 29 12:29:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2893
2894 * syms.c (stt): Add .rdata and .rodata.
2895
094e8be3
ILT
2896Wed Sep 28 13:35:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2897
2898 * reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
2899 before trying to add values to it.
2900
2901Tue Sep 27 16:47:58 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2902
2903 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
2904 return value from elf_sym_extra.
2905 (elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
12cf5d98 2906 (elf32_hppa_size_stubs): Cast return value from malloc.
094e8be3
ILT
2907
2908 * gen-aout.c (main): Declare and initialize "arch".
2909
2910 * cofflink.c (coff_link_add_symbols): Cast return value of
2911 bfd_hash_allocate.
2912
2913 * riscix.c (riscix_callback): Use PARAMS macro in prototype.
2914
2915 * reloc.c (bfd_install_relocation): New function, mostly copied
2916 from bfd_perform_relocation, adjusted for the assembler's needs.
2917 * bfd-in2.h: Regenerated.
2918
d80ebaac
ILT
2919Mon Sep 26 11:00:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2920
5ea90891
ILT
2921 * elfcode.h (assign_file_positions_except_relocs): Align the
2922 section VMA and the file position even if D_PAGED is not set.
2923
d80ebaac
ILT
2924 * bfd-in.h (bfd_seek): Change declaration to not mark fp const.
2925 * bfd-in2.h: Rebuild.
2926 * libbfd.c (bfd_seek): Don't mark parameters const, to avoid
2927 conflicts with declaration.
2928
57b40081
ILT
2929Fri Sep 23 15:15:31 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2930
2931 * elfcode.h (map_program_segments): Don't abort if we allocated
2932 too much space for the program header, only if we allocated too
2933 little.
d80ebaac 2934 (assign_file_positions_except_relocs): Similar change.
57b40081 2935
237402b4
C
2936Tue Sep 20 13:17:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
2937
2938 * libaout.h: Fix comment.
2939 * ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
2940 libaout.h.
2941
f90a2cdc
ILT
2942Tue Sep 20 15:23:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2943
57b40081
ILT
2944 * Makefile.in: Rebuilt dependencies.
2945 (BFD32_BACKENDS): Add sparcnetbsd.o.
2946 (CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
2947 * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
2948
f90a2cdc
ILT
2949 * coff-sh.c (rtype2howto): Remove; unused.
2950 (coff_sh_relocate_section): Remove unused local variable rstat.
2951 (reloc_processing): Comment out; unused.
2952
fb9a2192
ILT
2953Fri Sep 16 12:12:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2954
2955 * aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
2956 always write it out even if it would normally be stripped.
2957 (aout_link_input_section_std): If we find a reloc against a
2958 stripped global symbol, force it to be written out rather than
2959 merely calling unattached_reloc.
2960 (aout_link_input_section_ext): Likewise.
2961 (aout_link_reloc_link_order): Likewise.
2962
8a2cdc62
JL
2963Wed Sep 14 15:37:19 1994 Jeff Law (law@snake.cs.utah.edu)
2964
a8d08664
JL
2965 * som.h (struct somdata): New field sorted_syms.
2966 (obj_som_sorted_syms): Accessor macro.
2967 * som.c (som_object_setup): Initialize sorted_syms to NULL.
2968 (som_prep_for_fixups): Sort a copy of the BFD's symbol table;
2969 store the sorted symbol table in sorted_syms.
2970 (som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
2971 (som_begin_writing): Similarly for exec_header. Pass the sorted
2972 symbol table to som_write_symbol_strings.
2973 (som_build_and_write_symbol_table): Use the sorted symbols rather
2974 than the canonical symbol table.
2975
8a2cdc62
JL
2976 * som.h (som_symbol_type): Add "stringtab_offset" field.
2977 * som.c (som_write_symbol_strings): Use "stringtab_offset"
2978 rather than destroying the "name" field in the BFD symbol.
2979 (som_build_and_write_symbol_table): Likewise.
2980
8c62064a
ILT
2981Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2982
ab0434c2
ILT
2983 * aoutx.h (aout_link_write_symbols): Rename skip_indirect to
2984 skip_next. If we find an N_WARNING symbol which has already been
2985 written out, set skip_next.
2986
9be909ae
ILT
2987 * libecoff.h (struct ecoff_tdata): Add field find_buffer.
2988 * ecoff.c: Include aout/stab_gnu.h.
2989 (ecoff_find_nearest_line): Handle stabs debugging information.
2990
8c62064a
ILT
2991 * elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
2992 even if it is referenced by another object.
2993
a0b4aa62
JL
2994Tue Sep 13 17:57:00 1994 Jeff Law (law@snake.cs.utah.edu)
2995
ae880afc
JL
2996 * som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
2997 'T' and 'U' to grab all the unwind information.
2998 (som_set_reloc_info): Make 'U' unwind bits persist across
2999 multiple SOM relocations. Set the addend field of an R_ENTRY
3000 relocation to the value in 'T'; set the addend field on an
3001 R_EXIT relocation to the value in 'U'.
3002
e10639db
JL
3003 * som.h (som_symbol_type): Delete unwind field.
3004
3005 * som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
3006 unwind information from the addend field of the R_ENTRY, get the
3007 other 32bits from the addend field of the R_EXIT.
3008 (bfd_som_attach_unwind_info): Delete function and all references.
3009
39836432
JL
3010 * som.h (som_symbol_type): Delete unused a.out-related fields.
3011
3012 * som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
3013 instead of &bfd_abs_section.
3014
a0b4aa62
JL
3015 * som.c (som_object_setup): Handle exec_entry and exec_flags being
3016 switched in executables created by the OSF1 linker.
3017 (som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
3018 fixups. Support R_ALT_ENTRY (handle just like R_EXIT).
3019
cf345e36
SC
3020Tue Sep 13 16:04:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3021
3022 * cofflink.c (coff_link_input_bfd): syment_base is unsigned
3023 so can't compare -ve numbers with it.
3024
3025Mon Sep 12 20:31:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3026
3027 * configure.in (shcoff_vec): Use cofflink.o now.
3028 * coff-sh.c: Rewritten to use new fast coff backend.
3029
204ba9e3
ILT
3030Tue Sep 13 16:23:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3031
3032 * aoutx.h (NAME(aout,final_link)): Don't assume that all the input
3033 files are a.out.
3034
a3f7a777
C
3035Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com)
3036
3037 * configure.host (sparc-*-netbsd): use sparcnbsd.
3038 (ns32k-*-netbsd): use ns32knbsd.
3039
3040 * hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
3041 host support.
3042
3043 * sparcnetbsd.c: New file, adds support for NetBSD/sparc.
3044 * config/sparc-nbsd.mt: Likewise.
3045
3046 * netbsd.h: New file, definitions common to all netbsd ports.
3047 * i386netbsd.c: Use it.
3048 * ns32knetbsd.c: Use it.
3049
3050 * Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
3051 config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
3052 file/variable naming conventions.
3053 * i386netbsd.c: New file, renamed from netbsd386.c.
3054 * ns32knetbsd.c: New file, renamed from netbsd532.c.
3055
c7ca67cb
JL
3056Mon Sep 12 21:56:20 1994 Jeff Law (law@snake.cs.utah.edu)
3057
3058 * som.c (som_reloc_skip): Correct off-by-one error for 4-byte
3059 R_NO_RELOCATION fixups.
3060 (bfd_section_from_som_symbol): Return the absolute section if the
3061 symbol isn't contained in any section in the output file.
3062 (som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
3063 not function symbols (they are magic code labels which *can* be the
3064 targets of cross space branches). $START$ is not a section symbol.
3065
3cd942de
ILT
3066Mon Sep 12 11:43:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3067
3c9832f8
ILT
3068 * coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
3069 to section_flags.
3070 * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
3071
3072 * elfcode.h (swap_out_syms): Set the type of an undefined symbol
3073 to STT_FUNC if the BSF_FUNCTION flag is set.
3074
2a895595
ILT
3075 * cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
3076 change it.
3077 (_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
3078 absolute reloc. Don't dump core using r_symndx as an array index.
3079 * cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
3080 (lynx_link_add_symbols): New static function (copy of function in
3081 coff-i386.c).
3082 (coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
3083 * coff-i386.c (coff_i386_rtype_to_howto): Likewise.
3084 * coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
3085 value of -1, meaning an absolute reloc.
3086
3cd942de
ILT
3087 * ctor.c: Remove; obsolete.
3088 * Makefile.in: Rebuild dependencies.
3089 (BFD_LIBS): Remove ctor.o.
3090 (CFILES): Remove ctor.c.
3091 * libbfd.h: Rebuild.
3092
27ebd952
JL
3093Mon Sep 12 01:58:47 1994 Jeff Law (law@snake.cs.utah.edu)
3094
3095 * elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
3096 error of some sort (for example, undefined symbols), then do not
3097 apply any relocs, just notify the user of the errors.
3098 (elf32_hppa_backend_begin_write_processing): Do not build a symbol
3099 extension section for an executable (it's useless).
3100 (elf32_hppa_link_output_symbol_hook): Do nothing if there was a
3101 link error of some sort (for example, undefined symbols).
3102 (elf32_hppa_read_symext_info): Kludge. Turn off SEC_HAS_CONTENTS
3103 for all the input symbol extension sections to keep the generic
3104 BFD code happy. Temporarily turn it on to read the contents of
3105 the symbol extension section.
3106
95bc714e
JL
3107Sun Sep 11 21:58:59 1994 Jeff Law (law@snake.cs.utah.edu)
3108
3109 * config/hppaosf.mh (RANLIB): Do not set.
3110 * config/hppabsd.mh (RANLIB): Likewise.
3111
5b89e1a0
ILT
3112Sun Sep 11 22:50:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3113
3114 * cf-i386lynx.c: Remove #if 0 code.
3115 (i386_lynxos_coff_object_p): Remove unused function.
3116 (coff_bfd_link_add_symbols): Define.
3117 (lynx_link_add_symbols): New static function.
3118 * coffcode.h (coff_bfd_link_hash_table_create): If
3119 coff_relocate_section is defined, only define this if not already
3120 defined.
3121 (coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
3122
3123 * linker.c (_bfd_generic_final_link): Handle
3124 bfd_indirect_link_order explicitly, rather than via
3125 _bfd_default_link_order.
3126 (set_symbol_from_hash): New static function, broken out of
3127 _bfd_generic_link_write_global_symbol.
3128 (_bfd_generic_link_write_global_symbol): Symbol setting code moved
3129 to set_symbol_from_hash; call it.
3130 (default_indirect_link_order): Add generic_linker argument.
3131 Change all callers. If false, set the generic symbols based on
3132 the hash table entries.
3133
bd23b552
ILT
3134Fri Sep 9 11:51:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3135
67ff4a56
ILT
3136 * coffgen.c (coff_get_symtab): Reindented. Removed commented out
3137 call to bfd_constructor_entry.
3138
bd23b552
ILT
3139 Convert m68k COFF to use new COFF backend linker.
3140 * coff-m68k.c (coff_relocate_section): Define.
3141 * cf-m68klynx.c (coff_rtype_to_howto): Define.
3142 (coff_m68k_lynx_rtype_to_howto): New static function.
3143 * configure.in (m68kcoff_vec): Build cofflink.o.
3144 (m68kcoffun_vec, m68klynx_coff_vec): Likewise.
3145
2546fb27
SC
3146Thu Sep 8 16:20:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3147
bd23b552
ILT
3148 * coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
3149 overflows correctly.
2546fb27 3150
dc5fff10
ILT
3151Wed Sep 7 19:01:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3152
2546fb27
SC
3153 * libelf.h (struct elf_backend_data): Change second argument of
3154 elf_backend_final_write_processing hook to boolean.
3155 (struct elf_obj_tdata): Add linker field.
3156 * elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
3157 tdata linker field to final_write_processing, rather than NULL.
3158 (elf_bfd_final_link): Don't call final_write_processing hook. Set
3159 tdata linker field to true.
3160 * elf32-mips.c (mips_elf_final_write_processing): Change type of
3161 second argument to boolean.
3162 * elf32-hppa.c (elf32_hppa_backend_final_write_processing):
3163 Likewise.
3164
dc5fff10
ILT
3165 * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
3166 * coff-i960.c (RTYPE2HOWTO): Likewise.
3167 * coff-m88k.c (RTYPE2HOWTO): Likewise.
3168 * coff-we32k.c (RTYPE2HOWTO): Likewise.
3169
3170 Make i386 COFF use new COFF backend linker.
3171 * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
3172 (coff_relocate_section): Define.
3173 (coff_i386_rtype_to_howto): New function.
3174 * configure.in (i386coff_vec): Use cofflink.o.
3175 (i386lynx_coff_vec): Likewise.
3176
3177 * coffcode.h (bfd_coff_backend_data): Add new field
3178 _bfd_coff_rtype_to_howto.
3179 (bfd_coff_rtype_to_howto): Define.
3180 (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
3181 defined.
3182 (bfd_coff_std_swap_table): Initialize new field.
3183 * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
3184 section_info structures, since the target_index is 1 based.
3185 (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
3186 common symbol. Adjust rel_hash by the output reloc count.
3187 (_bfd_coff_generic_relocate_section): New function.
3188 * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
3189 * libcoff.h: Rebuild.
3190 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
3191 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3192
3b50c900
JL
3193Tue Sep 6 23:28:52 1994 Jeff Law (law@snake.cs.utah.edu)
3194
3195 * som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
3196 symbols and undefined symbols which no type in the same manner
3197 if the associated BFD symbol has BSF_FUNCTION set. For a defined
3198 symbol which no type, select a SOM type based on the flags of the
3199 section containing the symbol.
3200 (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
3201 or ST_CODE symbols (importing a non-function code symbol is
3202 meaningless in SOM).
3203 (som_set_reloc_info): Don't set "offset" to the section's vma; it
3204 should always start at zero.
3205
69645d10
ILT
3206Tue Sep 6 14:51:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3207
3208 Add new style linker support to COFF backend. a29k only for now.
3209 * cofflink.c: New file.
3210 * libcoff-in.h: Include bfdlink.h.
3211 (obj_coff_external_syms, obj_coff_strings): Define accessor macro.
3212 (obj_coff_sym_hashes): Define accessor macro.
3213 (struct coff_tdata): Add fields external_syms, strings, and
3214 sym_hashes.
3215 (struct coff_link_hash_entry): Define.
3216 (struct coff_link_hash_table): Define.
3217 (coff_link_hash_lookup, coff_link_hash_traverse): Define.
3218 (coff_hash_table): Define.
3219 (_bfd_coff_link_hash_table_create): Declare.
3220 (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
3221 * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
3222 _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
3223 _bfd_coff_compute_section_file_positions,
3224 _bfd_coff_relocate_section.
3225 (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
3226 (bfd_coff_sym_is_global): Define.
3227 (bfd_coff_compute_section_file_positions): Define.
3228 (bfd_coff_relocate_section): Define.
3229 (coff_mkobject_hook): Initialize obj_raw_syment_count and
3230 obj_conv_table_size.
3231 (coff_compute_section_file_positions): Set target_index of all
3232 sections. Set output_has_begun field.
3233 (coff_write_object_contents): Don't set target_index; now done by
3234 coff_compute_section_file_positions. Remove obsolete handling of
3235 scn_base and data_base. Don't bother to check that target_index
3236 is positive, since it always is. Remove use of pad, which is
3237 always zero. Check obj_raw_syment_count, not bfd_get_symcount,
3238 for the number of symbols, but only write them out if
6ceff8e7
ILT
3239 bfd_get_symcount is non-zero. Don't check obj_raw_syment_count
3240 until after coff_write_symbols is called.
69645d10
ILT
3241 (coff_slurp_symbol_table): Use obj_raw_syment_count, not
3242 bfd_get_symcount for the number of symbols. Don't set
3243 obj_conv_table_size.
3244 (coff_sym_is_global): New static function or macro.
3245 (coff_slurp_reloc_table): Call coff_swap_reloc_in, not
3246 bfd_swap_reloc_in.
3247 (coff_bfd_link_hash_table_create): If coff_relocate_section is
3248 defined, define as _bfd_coff_link_hash_table_create.
3249 (coff_bfd_link_add_symbols): Similar change.
3250 (coff_bfd_final_link): Similar change.
3251 (coff_relocate_section): Define as NULL if not defined.
3252 (bfd_coff_std_swap_table): Initialize new fields.
3253 * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
3254 and obj_conv_table_size here.
3255 (coff_count_linenumbers): Reindent. If bfd_get_symcount is zero,
3256 add up the line numbers from the sections.
6ceff8e7
ILT
3257 (coff_write_symbols): Set obj_raw_syment_count, not
3258 bfd_get_symcount.
69645d10
ILT
3259 (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
3260 field.
3261 (coff_get_normalized_symtab): Use obj_raw_syment_count, not
3262 bfd_get_symcount.
3263 (coff_print_symbol): If auxp->fix_end, print x_endndx value.
3264 * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
3265 Reindent. Change argument type to PTR.
3266 * coff-a29k.c (coff_a29k_relocate_section): New static function.
3267 (coff_relocate_section): Define.
3268 * configure.in (a29kcoff_big_vec): Compile cofflink.o.
3269 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
3270 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3271 * libcoff.h: Rebuilt.
3272 * Makefile.in: Rebuilt dependencies.
3273 (BFD32_BACKENDS): Add cofflink.o.
3274 (CFILES): Add cofflink.c.
3275
358710a7
KR
3276Tue Sep 6 14:00:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3277
de733a0e
KR
3278 * coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
3279 for section symbol, and print its aux fields with appropriate
3280 labels.
3281
358710a7
KR
3282 * Makefile.in (ALL_MACHINES): Added cpu-arm.o.
3283
e1728bee 3284Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
318b02b6
KR
3285
3286 * aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
3287 * archures.c, config.bfd, configure.host, libaout.h, reloc.c,
3288 targets.c: Add support for the ARM.
3289 * cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
3290
e1728bee 3291 * aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
318b02b6 3292
0443af31
KR
3293Fri Sep 2 14:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3294
3295 * reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
3296 new "chew" commands for simultaneous definition of enumerator and
3297 enumerator name table.
3298 (bfd_get_reloc_code_name): New function, for retrieving a symbolic
3299 name associated with an enumerator.
3300 * libbfd.h, bfd-in2.h: Regenerated.
3301
b905bde1
JL
3302Tue Aug 30 21:24:54 1994 Jeff Law (law@snake.cs.utah.edu)
3303
3304 * som.c (som_write_fixups, case R_ENTRY): Handle case where no
3305 unwind descriptor information is available.
3306
0822b56d
ILT
3307Tue Aug 30 11:43:30 1994 Eric Youngdale (ericy@cais.cais.com)
3308
3309 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
3310 argument, and use it to set DT_SONAME dynamic entry.
3311 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
3312 (bfd_elf64_size_dynamic_sections): Update prototype.
3313 * bfd-in2.h: Rebuilt.
3314
b8520cf3
ILT
3315Fri Aug 26 15:47:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3316
3317 * coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
3318 (coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
3319 than setting it.
3320
715cde57
ILT
3321Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3322
fc10f31e
ILT
3323 * archive.c (bsd_write_armap): Remove host dependencies.
3324
435b470e
ILT
3325 * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
3326 before adding BYTES_IN_WORD.
3327
6d04c6d4
ILT
3328 * coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
3329 not merely the first.
3330
715cde57
ILT
3331 * coffgen.c (coff_write_alien_symbol): If we are not using the
3332 symbol, clear the name so that it is not put in the string table.
3333 From Antti.Miettinen@ntc.nokia.com.
3334
1afd2380
ILT
3335Wed Aug 24 11:49:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3336
5a53b1c1
ILT
3337 * coffgen.c (coff_print_symbol): Cast pointer different to long
3338 and use %ld to print it.
3339 * osf-core.c (osf_core_core_file_p): Remove unused variable
3340 dseccnt.
3341 * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
3342 bytes in bits2.
3343
073e795f 3344 * configure.host, config.bfd: Change i[34]86 to i[345]86.
a74d1517
ILT
3345 * coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
3346 rather than waiting until coff_slurp_symbol_table.
3347 (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
3348 From Antti.Miettinen@ntc.nokia.com.
3349
d3700222
ILT
3350 * section.c (bfd_make_section_anyway): Fix failure check of
3351 bfd_make_empty_symbol. From Antti.Miettinen@ntc.nokia.com.
3352
1afd2380
ILT
3353 * aoutx.h (translate_to_native_sym_flags): Use the output_section
3354 (and output_offset) if there is one.
3355
3356 * aoutx.h (aout_link_check_archive_element): Discard the symbols
3357 if the archive element was not needed.
3358
3359 * aoutx.h (aout_get_external_symbols): Ensure that a zero string
3360 index yields an empty string.
3361 (aout_link_write_symbols): If info->keep_memory is false, use name
3362 from original hash table entry, not from entry in *sym_hash.
3363
3364 * aoutx.h (struct aout_final_link_info): Add fields contents,
3365 relocs, symbol_map and output_syms.
3366 (NAME(aout,final_link)): Work out the largest section size, reloc
3367 size, and number of symbols. Use them to preallocate buffers that
3368 are large enough for all cases.
3369 (aout_link_input_bfd): Use preallocated symbol_map.
3370 (aout_link_write_symbols): Remove symbol_map argument; use
3371 preallocated symbol_map instead. Change all callers. Use
3372 preallocated output_syms.
3373 (aout_link_input_section): Remove symbol_map argument. Change all
3374 callers. Use preallocated contents and relocs.
3375 (aout_link_input_section_std): Remove symbol_map argument; use
3376 preallocated symbol_map instead. Change all callers.
3377 (aout_link_input_section_ext): Likewise.
3378
3379Tue Aug 23 10:51:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3380
3381 * archive.c (_bfd_write_archive_contents): Don't update the
3382 symbol map timestamp if there is no symbol map. From
3383 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
3384
e914ed52
ILT
3385Mon Aug 22 12:26:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3386
81eb52b3
ILT
3387 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
3388 (bfd_target): Add field _bfd_update_armap_timestamp.
3389 * bfd.c (bfd_update_armap_timestamp): Define.
3390 * bfd-in2.h: Rebuilt.
3391 * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
3392 (_bfd_archive_bsd_update_armap_timestamp): Declare.
3393 (_bfd_archive_coff_update_armap_timestamp): Define.
3394 * libbfd.h: Rebuilt.
3395 * archive.c (_bfd_write_archive_contents): Call
3396 bfd_update_armap_timestamp instead of checking for a BSD archive
3397 and calling bsd_update_armap_timestamp.
3398 (_bfd_archive_bsd_update_armap_timestamp): Rename from
3399 _bsd_update_armap_timestamp. Don't assume that armap_datepos is
3400 already set.
3401 * aout-target.h (MY_update_armap_timestamp): Define if not already
3402 defined.
3403 * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
3404 * ieee.c (ieee_update_armap_timestamp): Define.
3405 * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
3406 * oasys.c (oasys_update_armap_timestamp): Define.
3407 * som.c (som_update_armap_timestamp): Define.
3408
e914ed52
ILT
3409 * hash.c: Copy string hash functions from aoutx.h.
3410 * aoutx.h: String hash functions moved to hash.c. Retain
3411 simplified versions of add_to_stringtab and emit_stringtab.
3412 Change all callers to use new function and structure names.
3413 * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
3414 (_bfd_stringtab_size, _bfd_stringtab_add): Declare.
3415 (_bfd_stringtab_emit): Declare.
3416 * libbfd.h: Rebuilt.
3417
0ff4ca1e
ILT
3418Mon Aug 22 10:49:37 1994 Eric Youngdale (ericy@cais.cais.com)
3419
3420 * i386linux.c (linux_add_one_symbol): Create a fixup for any
3421 defined absolute symbol, not just GOT or PLT symbols.
3422 (linux_tally_symbols): Correct handling of references to defined
3423 symbols.
3424
32c76553
ILT
3425Thu Aug 18 16:29:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3426
f4945271
ILT
3427 Get ld -x -r to handle a.out set symbols correctly.
3428 * aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
3429 BFD, pad the .data section up to the VMA of the .bss section.
3430 (aout_link_add_symbols): If a set symbol does not get modified,
3431 treat it as a local symbol.
3432 (aout_link_write_symbols): Set the value of set symbols
3433 correctly. Don't discard set symbols even if discarding local
3434 symbols.
3435 (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
3436 since it can now happen for set symbols.
3437
32c76553
ILT
3438 * elfcode.h (elf_fake_sections): Just check for ".rela" and
3439 ".rel", not ".rela." and ".rel."; make this work by checking
3440 use_rela_p.
3441 * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
3442 ".rel."
3443 (elf_i386_size_dynamic_sections): Likewise.
3444 (elf_i386_relocate_section): Likewise.
3445 * elf32-sparc.c (elf32_sparc_check_relocs): Just check for
3446 ".rela", not ".rela."
3447 (elf32_sparc_size_dynamic_sections): Likewise.
3448 (elf32_sparc_relocate_section): Likewise.
3449
7cc5cc22
ILT
3450Wed Aug 17 16:54:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3451
3452 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
3453 PASS to the old value + 1.
d83689d4
ILT
3454
3455 * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
3456 no aux entries, use the symbol name as the file name.
3457 (coff_find_nearest_line): Look for the right C_FILE symbol, rather
3458 than always using the first one. If there is a debugging symbol
3459 after a function symbol, skip it. Add the section VMA to the line
3460 offset, since it was subtracted out in coff_slurp_line_table.
3461
fde543b5
JL
3462Tue Aug 16 16:53:00 1994 Jeff Law (law@snake.cs.utah.edu)
3463
3464 * som.c (som_prep_headers): If writing some form of an executable,
3465 allocate and attach an exec header to the BFD private data.
3466 (som_begin_writing): Don't fill fields of the exec header based
3467 on BFD private data here (like the exec flags). Do not write
3468 the exec header here.
3469 (som_write_headers): Instead do it here.
3470 * som.h (struct somdata): New field "exec_hdr" for the executable
3471 file header.
3472 (obj_som_exec_hdr): New accessor macro.
3473
969ceea0
ILT
3474Tue Aug 16 00:12:31 1994 Eric Youngdale (ericy@cais.cais.com)
3475
3476 * i386linux.c (linux_link_create_dynamic_sections): Create section
3477 named .linux-dynamic, not .dynamic.
3478 (linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
3479 (bfd_linux_size_dynamic_sections): Likewise.
3480 (linux_finish_dynamic_link): Likewise.
3481
e8fbe6d9
ILT
3482Mon Aug 15 12:16:56 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3483
9fbe895a
ILT
3484 * coffgen.c (STRING_SIZE_SIZE): Define.
3485 (coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
3486 (coff_write_symbols, build_string_table): Likewise.
3487 (coff_get_normalized_symtab): Likewise.
3488
f07bb971
ILT
3489 * libcoff-in.h (obj_symbol_slew): Don't define.
3490 (struct coff_tdata): Remove unused fields index_slew, raw_linenos,
3491 and flags.
3492 * libcoff.h: Rebuilt.
3493 * coffcode.h (coff_mkobject): Don't initialize raw_linenos.
3494 (coff_mkobject_hook): Don't initialize flags.
3495
a932d0ff
ILT
3496 * aout-target.h (MY_zmagic_contiguous): Define as 0 if not already
3497 defined.
3498 (MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0.
3499 * i386linux.c (MY_zmagic_contiguous): Define.
3500
823609fe
ILT
3501 * elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a
3502 shared object has SHF_ALLOC set, create a BFD section for it.
3503 (elf_section_from_bfd_section): There may be a BFD section for a
3504 SHT_SYMTAB section.
3505
e8fbe6d9
ILT
3506 * coffcode.h (styp_to_sec_flags): Add name argument. If no flags
3507 are recognized, chose section flags based on the name.
3508 (bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add
3509 name argument.
3510 (bfd_coff_styp_to_sec_flags_hook): Add name argument.
3511 (coff_compute_section_file_positions): Don't adjust the section
3512 position by COFF_PAGE_SIZE unless SEC_ALLOC is set.
3513 * libcoff.h: Rebuilt.
3514 * coffgen.c (make_a_section_from_file): Pass section name to
3515 bfd_coff_styp_to_sec_flags_hook.
3516 * ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name
3517 argument.
3518 * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to
3519 prototype.
3520
1c640609
ILT
3521Fri Aug 12 11:22:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3522
e9227b42
ILT
3523 * elfcode.h (section_from_elf_index): Correct check for invalid
3524 section index.
3525
1c640609
ILT
3526 * elfcode.h (elf_link_add_object_symbols): If there is no symbol
3527 table, try using the dynamic symbol table. From Eric Youngdale
3528 <ericy@cais.cais.com>.
3529
3530 * configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.
3531 The linker depends upon configuring for solaris2.
3532 * hosts/solaris2.h: New file; include hosts/sysv4.h.
3533 * config/solaris2.mh: New file; copy of config/sysv4.mh.
3534
e1f99f60
ILT
3535Wed Aug 10 13:09:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3536
3537 * aoutx.h (adjust_z_magic): Make sure data section is padded to
3538 page boundary when the VMA is set by the calling program. From
3539 Eric Youngdale <ericy@cais.cais.com>.
3540
fb49a801
SS
3541Mon Aug 8 17:18:49 1994 Stan Shebs (shebs@andros.cygnus.com)
3542
3543 Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).
3544 * aout-ns32k.c: Add declarations that were in aout-ns32k.h, change
3545 declarations to traditional form.
3546 (MY_reloc_howto, MY_put_reloc): Change from macro to function.
3547 (ns32k_relocate_contents): New function.
3548 * aout-ns32k.h: Remove.
3549 * cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change
3550 declarations to traditional form.
3551 (ns32k_final_link_relocate): Call ns32k_relocate_contents.
3552 * netbsd532.c: Reformat to standards, add copyright notice.
3553 (ARCH): Don't define.
3554 (aout-ns32k.h): Don't include.
3555 * pc532-mach.c: Ditto.
3556
3557Mon Aug 8 17:55:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3558
3559 * coff-i960.c (coff_i960_relocate): Don't try to convert relocs
3560 against common symbols.
3561
f20860cd
PS
3562Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3563
3564 * irix-core.c (irix_core_core_file_p): Ignore sections that
3565 are not contained in the core file.
3566
203778ce
JMD
3567Thu Aug 4 11:32:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3568
74329939 3569 * coff-m68k.c (m68k_reloc_type_lookup): New function.
8337ee9d 3570 (coff_bfd_reloc_type_lookup): Define.
74329939 3571 * cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define.
8337ee9d 3572
203778ce
JMD
3573 * elfcode.h (elf_bfd_final_link): Force the vma of sections which
3574 do not have SEC_ALLOC set to be 0. This is needed to handle
3575 relocs against debugging sections.
3576
1b8a11d4
JMD
3577Wed Aug 3 16:45:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3578
3579 * coff-i960.c (coff_i960_relocate): Rewrote to change relocs
3580 against locally defined symbols into relocs against section
3581 symbols, for VxWorks 5.1.
3582
e696f6a9
JMD
3583Wed Aug 3 10:34:37 1994 Eric Youngdale (ericy@cais.cais.com)
3584
3585 * i386linux.c (linux_add_one_symbol): Only handle
3586 SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set. Set hashp
3587 for a GOT or PLT symbol. Set jump field of fixup for a PLT symbol.
3588 (linux_tally_symbols): Check section of real symbol. When looking
3589 for a builtin fixup, check builtin and jump flags. Create no more
3590 than one fixup, and always create one if the real symbol is in the
3591 absolute section. Only strip absolute symbols.
3592
756b40d5
DHW
3593Wed Aug 3 05:08:24 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
3594
3595 * coffcode.h (coff_write_object_contents): set internal_a.magic to
3596 LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS
3597 (yes, they have the same magic number!)
3598
e0566e19
JMD
3599Tue Aug 2 10:43:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3600
b2ea35c7
JMD
3601 * hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test
3602 in aoutx.h work correctly.
3603
5e694c29
JMD
3604 * coff-i960.c (coff_i960_relocate): New function.
3605 (howto_rellong, howto_iprmed): Use it as special_function.
3606
e0566e19
JMD
3607 * libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek,
3608 bfd_tell, bfd_flush, and bfd_stat from here...
3609 * bfd-in.h: ...to here, to make them visible to programs which
3610 know more about the object file format than BFD does.
3611 * libbfd.h, bfd-in2.h: Rebuilt.
3612
287e3ce2
JMD
3613Mon Aug 1 17:55:53 1994 Fred Fish (fnf@cygnus.com)
3614
3615 * ptrace-core.c (ptrace_unix_core_file_p): Convert zalloc usage
3616 to bfd_zalloc.
3617
abc61566 3618Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
d510fd89 3619
4ab1f947
JMD
3620 * elf64-sparc.c (ELF_MAXPAGESIZE): Define.
3621
99dd7754
JMD
3622 ELF linker patches from Eric Youngdale <ericy@cais.cais.com>.
3623 * elfcode.h (elf_link_create_dynamic_sections): Set type of
3624 _DYNAMIC to STT_OBJECT.
3625 (NAME(bfd_elf,record_link_assignment)): Always create hash table
3626 entry. Set type to STT_OBJECT.
3627 (elf_link_output_extsym): Don't set type of weak defined symbol to
3628 STB_WEAK if symbol was referenced.
e2167917
JMD
3629 (map_program_segments): Check DYNAMIC as well as EXEC_P.
3630 (assign_file_positions_except_relocs): Likewise.
99dd7754
JMD
3631 * elf32-i386.c (elf_i386_create_dynamic_sections): Set type of
3632 _GLOBAL_OFFSET_TABLE to STT_OBJECT.
3633 (elf_i386_check_relocs): Ignore local PLT32 relocs.
3634 (elf_i386_relocate_section): Treat local PLT32 relocs as PC32.
3635
30e5ad97
ILT
3636 * elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
3637 handling again.
3638
d510fd89
ILT
3639 * elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
3640 if there aren't any.
abc61566
ILT
3641
3642 * configure.host (sparc-*-solaris2*): Use sysv4, not solaris2.
3643 * hosts/solaris2.h: Remove.
3644 * config/solaris2.mh: Remove.
3645
58bbba79
JL
3646Sun Jul 31 14:27:04 1994 Jeff Law (law@snake.cs.utah.edu)
3647
3648 * elf32-hppa.c, elf32-hppa.h: Update comment reflecting which
3649 HPPA ELF spec the code implements.
3650
b5b056fc
KR
3651Tue Jul 26 17:38:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3652
3653 * cpu-i960.c (MAX_ARCH): New macro.
3654 (compatible): Use it in computing array bounds. Put comma after
3655 last entry in array, for regularity.
3656 (arch_info_struct): Adjust spacing for easier reading.
3657
3658 * coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use
3659 HOWTO macro.
3660
3661 start-sanitize-i960xl
3662 * cpu-i960.c (XL): Define as bfd_mach_i960_xl.
3663 (scan_960_mach): Recognize xl machine.
3664 (MAX_ARCH): Define to be XL.
3665 (compatible): Add XL row to array.
3666 (arch_info_struct): Add XL entry.
3667
3668 * archures.c (bfd_mach_i960_xl): New macro.
3669 * bfd-in2.h: Regenerated.
3670
3671 * coffcode.h (coff_set_arch_mach_hook): For F_I960XL, set machine
3672 to bfd_mach_i960_xl.
3673 (coff_set_flags): For bfd_mach_i960_xl, set F_I960XL.
3674 end-sanitize-i960xl
3675
374d2ef9
ILT
3676Tue Jul 26 11:04:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3677
9a402d7a
ILT
3678 * elfcode.h (elf_adjust_dynamic_symbol): When handling a weak
3679 symbol, correct check to see whether the equivalent normal symbol
3680 was referenced.
3681
374d2ef9
ILT
3682 Add support for creating shared libraries under i386 ELF and SPARC
3683 ELF. Based on patches by Eric Youngdale <ericy@cais.cais.com>.
3684 * libelf.h (struct elf_link_hash_entry): Remove copy_offset field.
3685 Add got_offset and plt_offset fields.
3686 (ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define.
3687 (ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define.
3688 (ELF_LINK_HASH_NEEDS_COPY): Define.
3689 (struct elf_backend_data): Add check_relocs field.
3690 (struct bfd_elf_section_data): Change relocs from PTR to
3691 Elf_Internal_Rela *.
3692 (struct elf_obj_tdata): Add local_got_offsets field.
3693 (elf_local_got_offsets): Define accessor macro.
3694 (bfd_elf32_link_create_dynamic_sections): Declare.
3695 (bfd_elf32_link_record_dynamic_symbol): Declare.
3696 (bfd_elf64_link_create_dynamic_sections): Declare.
3697 (bfd_elf64_link_record_dynamic_symbol): Declare.
3698 * elfcode.h (elf_slurp_reloc_table): Don't use the section data
3699 relocs field.
3700 (elf_link_record_dynamic_symbol): Make globally visible. Use
3701 macro to rename to NAME(bfd_elf,link_record_dynamic_symbol).
3702 (elf_link_add_object_symbols): If creating a shared library, put
3703 make all local symbols dynamic. Don't bother with the
3704 DYNAMIC_MULTIPLE flags. Call the check_relocs backend function if
3705 it is defined.
3706 (elf_link_create_dynamic_sections): Make globally visible. Use
3707 macro to rename to NAME(bfd_elf,link_create_dynamic_sections). If
3708 creating a shared library, make sure that _DYNAMIC is added as a
3709 dynamic symbol.
3710 (elf_link_read_relocs): New function.
3711 (NAME(bfd_elf,record_link_assignment)): If creating a shared
3712 library, always create symbols, and always make them dynamic.
3713 (elf_bfd_final_link): Permit creation of shared libraries.
3714 (elf_link_input_bfd): Use elf_link_read_relocs to get the relocs.
3715 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize
3716 copy_offset. Initialize got_offset and plt_offset.
3717 * elf32-target.h (elf_backend_check_relocs): Define as 0 if not
3718 defined.
3719 (elf32_bed): Initialize check_relocs field.
3720 * elf64-target.h (elf_backend_check_relocs): Define as 0 if not
3721 defined.
3722 (elf64_bed): Initialize check_relocs field.
3723 * elf32-i386.c (elf_howto_table): Change R_386_PLT32 and
3724 R_386_GOTPC to be pc_relative and pcrel_offset.
3725 (elf_i386_pic_plt0_entry): Define.
3726 (elf_i386_pic_plt_entry): Define.
3727 (elf_i386_create_dynamic_sections): Create a .got.plt section, and
3728 define _GLOBAL_OFFSET_TABLE_ at the start of it. If creating a
3729 shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
3730 dynamic symbol. Don't create .rel.bss if creating a shared
3731 library.
3732 (elf_i386_check_relocs): New function.
3733 (elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the
3734 symbol already has one. When making a PLT entry, set plt_offset.
3735 Don't create a copy reloc when creating a shared library. Don't
3736 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
3737 (elf_i386_allocate_dynamic_section): Remove.
3738 (elf_i386_size_dynamic_sections): Look through all the sections
3739 rather than assuming we know their names. Remove any empty reloc
3740 or plt sections. Only add a DT_DEBUG entry if not creating a
3741 shared library. Only add a DT_PLTGOT entry if there is a PLT.
3742 Add a DT_TEXTREL entry if required.
3743 (elf_i386_relocate_section): Permit undefined symbols when
3744 creating a shared library. Handle the special relocation types
3745 specially.
3746 (elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset
3747 is set. If creating a shared library, produce a PIC PLT entry.
3748 Only mark a PLT symbol as undefined if it was not defined by a
3749 regular object file. Create a GOT entry if got_offset is set.
3750 Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
3751 (elf_i386_finish_dynamic_sections): Change the handling of
3752 DT_RELSZ to simply subtract out the size of .rel.plt. If creating
3753 a shared library, produce PIC PLT code.
3754 (elf_backend_check_relocs): Define.
3755 * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10,
3756 R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow.
3757 (elf32_sparc_create_dynamic_sections): If creating a shared
3758 library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
3759 dynamic symbol, and set the type to STT_OBJECT. Likewise for
3760 _PROCEDURE_LINKAGE_TABLE_. Don't create .rel.bss if creating a
3761 shared library.
3762 (elf32_sparc_check_relocs): New function.
3763 (elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the
3764 symbol already has one. When making a PLT entry, set plt_offset.
3765 Don't create a copy reloc when creating a shared library. Don't
3766 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
3767 (elf32_sparc_allocate_dynamic_section): Remove.
3768 (elf32_sparc_size_dynamic_sections): Look through all the sections
3769 rather than assuming we know their names. Only add a DT_DEBUG
3770 entry if not creating a shared library. Add a DT_TEXTREL entry if
3771 required.
3772 (elf32_sparc_relocate_section): Permit undefined symbols when
3773 creating a shared library. Handle the special relocation types
3774 specially.
3775 (elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset
3776 is set. Only mark a PLT symbol as undefined if it was not defined
3777 by a regular object file. Create a GOT entry if got_offset is
3778 set. Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
3779 (elf32_sparc_finish_dynamic_sections): Store dynobj in a local
3780 variable.
3781 (elf_backend_check_relocs): Define.
3782
caede515
SS
3783Mon Jul 25 12:21:07 1994 Stan Shebs (shebs@andros.cygnus.com)
3784
3785 * configure.in (pc532mach_vec): Change to pc532machaout_vec.
3786 * config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name.
3787 * Makefile.in (ALL_MACHINES): Add cpu-ns32k.o.
3788 (BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o,
3789 pc532-mach.o.
3790 * targets.c (pc532machaout_vec): Use instead of pc532mach_vec.
3791 * config/pc532-mach.mt (DEFAULT_VECTOR): Ditto.
3792 (SELECT_VECS): Remove.
3793 * config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt.
3794 * config/ns32k-netbsd.mt: Remove, name too long.
3795
2aaaab7c
ILT
3796Fri Jul 22 11:07:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3797
f2c2e75c
ILT
3798 * linker.c (generic_link_check_archive_element): When changing a
3799 symbol to common, set the alignment.
3800 (_bfd_generic_link_add_one_symbol): When creating a common symbol,
3801 set the alignment.
3802 * aoutx.h (aout_link_check_ar_symbols): When changing a symbol to
3803 common, set the alignment.
3804 (aout_link_add_symbols): Restrict the alignment of a common symbol
3805 to the alignment power given by the architecture.
3806 * libelf.h (struct elf_link_hash_entry): Remove align field. Add
3807 copy_offset field.
3808 * elfcode.h (elf_link_add_object_symbols): Store alignment in
3809 new bfd_link_hash_entry field, not in elf_link_hash_entry field.
3810 (elf_link_output_extsym): Similar change when getting alignment.
3811 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align. Do
3812 initialize copy_offset.
3813 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
3814 field rather than align field. Get alignment using bfd_log2
3815 rather than switch.
3816 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
3817 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
3818 not align.
3819 * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
3820
2aaaab7c
ILT
3821 * aoutx.h (NAME(aout,some_aout_object_p)): Just check
3822 STAT_FOR_EXEC, don't check MACH.
3823 * m88kmach3.c (MACH): Don't define.
3824 * config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
3825 * config/m88k-mach3.mt (TDEFINES): Likewise.
3826 * config/mips-mach3.mt (TDEFINES): Likewise.
3827
bb99a732
SS
3828Thu Jul 21 17:24:31 1994 Stan Shebs (shebs@andros.cygnus.com)
3829
3830 * i386mach3.c: Reverted to version from before Jul 5 1994 changes.
3831
f42fe159
ILT
3832Thu Jul 21 12:26:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3833
3834 * reloc.c (struct reloc_howto_struct): Remove special_function1.
3835 It's the wrong way to do things.
3836 (HOWTO): Change accordingly.
3837 (HOWTO2): Remove.
3838 (_bfd_final_link_relocate): Remove references to
3839 special_function1.
3840 * bfd-in2.h: Rebuilt.
3841 * aoutx.h (aout_link_input_section_std): Remove references to
3842 special_function1.
3843 (aout_link_reloc_link_order): Likewise.
3844
3845Wed Jul 20 15:46:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3846
3847 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath
3848 argument. If it is not NULL, use it to set DT_RPATH.
3849 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
3850 (bfd_elf64_size_dynamic_sections): Likewise.
3851 * bfd-in2.h: Rebuilt.
3852
ea617174
ILT
3853Sat Jul 16 21:10:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3854
f42fe159
ILT
3855 * elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no
3856 dynamic symtab, return error.
3857
bf73e4f3
ILT
3858 * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define.
3859 * elfcode.h (elf_link_add_object_symbols): If symbol is defined as
3860 weak, set ELF_LINK_HASH_DEFINED_WEAK.
3861 (elf_link_output_extsym): If symbol is defined as weak, mark it
3862 STB_WEAK.
3863
ea617174
ILT
3864 * libelf.h (struct bfd_elf_section_data): Add relocs field.
3865 (shdr_name): Remove; unused.
3866 * elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL
3867 and RELA relocs. Free up the unswapped relocs. Permit the relocs
3868 to be cached in the section_data. Correct the reloc address.
3869 (elf_slurp_reloca_table): Remove.
3870 (elf_canonicalize_reloc): Rewrote.
3871 (elf_link_input_bfd): Permit the relocs to be cached in the
3872 section data.
3873
ef8b133d
SS
3874Sat Jul 16 13:55:38 1994 Stan Shebs (shebs@andros.cygnus.com)
3875
d9840ab7
SS
3876 * config.bfd (m88*-harris-cxux*): Recognize.
3877 * hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define.
3878
ef8b133d
SS
3879 * configure.host (m68*-atari-sysv4*): New host.
3880 (m68*-cbm-sysv4*): Use m68kv4 instead of amix.
3881 * hosts/amix.h: Remove.
3882 * hosts/m68kv4.h: New file, was amix.h.
3883
1fb83be6
KR
3884Thu Jul 14 15:12:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3885
3886 * reloc.c (enum bfd_reloc_code_real, bfd_type, struct
3887 reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied
3888 changes over from bfd-in2.h so they get generated properly next
3889 time someone runs "make headers".
3890 * bfd-in2.h: Rebuilt.
3891
3892 * targets.c (netbsd532_vec, pc532mach_vec): Declare const.
3893 (m88kmach3_vec): Restore deleted declaration.
3894
3895 * configure.in: Alphabetize target vector names.
3896
3897 * config/pc532mach.mh: New file.
3898 (HDEPFILES, HDEFINES): Define here.
3899 * config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted.
3900 * config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted.
3901
3902 Sun Jul 10 00:04:20 1994 Ian Dall (dall@hfrd.dsto.gov.au)
3903
3904 * pc532-mach.c: New File. pc532-mach a.out format.
3905
3906 * netbsd532.c: New file. pc532-netbsd532 a.out format.
3907
3908 * hosts/pc532mach.h: New file. pc532-mach host support.
3909
3910 * cpu-ns32k.c: New file. ns32k support cpu specific code rather
3911 than format specific code.
3912
3913 * config/pc532-mach.mt: New file. Support for pc532-mach target.
3914
3915 * config/ns32k-netbsd.mt: New file. Support for netbsd532 target.
3916
3917 * aout-ns32k.c, aout-ns32k.h: New files supporting aout format for
3918 ns32k series.
3919
3920 * targets.c: Add netbsd532_vec and pc532machaout_vec into
3921 bfd_target_vector array. Move netbsd386_vec to alphabetic order
3922 location.
3923
3924 * reloc.c (_bfd_final_link_relocate) Add support for
3925 special_function1 in howto.
3926
3927 * libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in
3928 machine_type enum.
3929
3930 * configure.in: add pc532mach_vec and netbsd532_vec entries.
3931
3932 * config.bfd: add pc532mach host entries. Use for both
3933 ns32k-pc532-mach and ns32k-pc532-netbsd.
3934
3935 * config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach.
3936 add ns32k-pc532-mach* and ns32k-*-netbsd* entries.
3937
3938 * bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real
3939 enum.
3940
3941 * bfd-in2.h: Add special_function1 to struct howto. Change HOWTO
3942 and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2
3943 macro.
3944
3945 * bfd-in2.h: Split definition of struct reloc_howto_struct
3946 and corresponding typedef into two statements.
3947
3948 * bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum.
3949
3950 * archures.c: Add bfd_ns32k_arch prototype, and entry in
3951 archures_init_table.
3952
3953 * aoutx.h (aout_link_reloc_link_order): Allow for target dependent
3954 MY_put_reloc macro. Allow for target dependent special_function1
3955 to apply the relocation.
3956
3957 * aoutx.h (aout_link_input_section_std): Allow for target
3958 dependent determination of reloc howto. Allow for target dependent
3959 special_function1 to apply the relocation.
3960
3961 * aoutx.h (get_reloc_upper_bound): Detect bss and return 0.
3962
3963 * aoutx.h (slurp_reloc_table): Detect bss and succesfully read
3964 zero reloc entries.
3965
3966 * aoutx.h (machine_type): Add bfd_arch_ns32k case.
3967
3968 * aoutx.h: Stat to determine executable status if STAT_FOR_EXEC
3969 is defined (not just MACH). Use fstat instead of stat and check
3970 for fstat error.
3971
3972 * aoutx.h: Allow target dependent swap_std_reloc_{in,out}.
3973
3974 * aoutx.h: Allow CTORS reloc info to be in target dependent reloc
3975 table.
3976
3977 * aout-target.h: Apply SWAP_MAGIC (if defined) after
3978 swap_exec_header_in, otherwise we have magic in the wrong order.
3979
a307efdf
SS
3980Thu Jul 14 11:47:27 1994 Stan Shebs (shebs@andros.cygnus.com)
3981
3982 * coff-sparc.c (sparccoff_vec): Have leading underscores.
3983
57a814a9
PS
3984Tue Jul 12 12:08:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3985
3986 * aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
3987 hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
3988 rs6000-core.c, trad-core.c: Remove SEC_ALLOC flag from .reg
3989 sections, .reg sections are not allocated and contain debug
3990 information only.
3991 * osf-core.c (make_bfd_asection, osf_core_core_file_p): Use
3992 bfd_make_section_anyway instead of building unique section names.
3993
42ec46c3
ILT
3994Tue Jul 12 11:41:22 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3995
840846da
ILT
3996 * libelf.h (bfd_elf32_swap_symbol_in): Declare.
3997 (bfd_elf32_swap_symbol_out): Declare.
3998 (bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare.
3999 * elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast.
4000
42ec46c3
ILT
4001 * aout-encap.c (ARCH): Don't define. Obsolete.
4002 * aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
4003 * i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
4004 * i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
4005 * newsos3.c, sparclynx.c, sunos.c: Likewise.
4006
18938e4d
ILT
4007Mon Jul 11 20:08:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4008
4009 * section.c (STD_SECTION): Make the sixth argument boolean, not
4010 the seventh. From gary@tuva.pacsemi.oz.au (gary kopff).
4011
4852416e
DHW
4012Sun Jul 10 09:12:02 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
4013
4014 * aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
4015 in order not to collide with LynxOS's definition of FREE in
4016 /usr/include/sys/proc.h
4017
4018Thu Jul 7 14:18:06 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4019
4020 * reloc.c (bfd_perform_relocation): Don't clobber the relocation
4021 value for coff-Intel-little or coff-Intel-big. Hack upon hack.
4022
fd4913f1
PS
4023Thu Jul 7 10:10:34 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4024
4025 * aoutx.h (howto_table_std): Add entry for GOT relocations
4026 which are present in sun3 shared libraries, to avoid assertions
4027 when reading the dynamic relocations.
4028
48530c25
JL
4029Thu Jul 7 10:19:20 1994 Jeff Law (law@snake.cs.utah.edu)
4030
4031 * som.h (R_HPPA_COMPLEX): Fix dumb typo.
4032
874a4327
ILT
4033Wed Jul 6 19:21:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4034
4035 * hosts/sysv4.h (qsort, strtol): Don't declare.
4036
4037 * elfcode.h (elf_link_output_sym): Don't call output_symbol_hook
4038 if it is NULL.
4039
4040 * elf32-mips.c (mips_elf_final_write_processing): Add ignored info
4041 argument to correspond to recent libelf.h change.
4042
5fb54939
PS
4043Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4044
4045 * coff-alpha.c (alpha_ecoff_mkobject_hook): New hook to
4046 additionally copy object type information from the alpha file
4047 header to the BFD flags.
4048 (alpha_ecoff_backend_data): Use it.
4049 (ecoffalpha_little_vec): Add DYNAMIC to object_flags.
4050 * aout64.c: Fix typo in conditional QMAGIC definition.
4051
2c0f3abc
JL
4052Wed Jul 6 00:13:17 1994 Jeff Law (law@snake.cs.utah.edu)
4053
4054 * hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the
4055 value of clicksz to help weed out non HPPA BSD core files.
4056
11676adc
SS
4057Tue Jul 5 13:26:02 1994 Stan Shebs (shebs@andros.cygnus.com)
4058
4059 Mach 3 support.
4060 * config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
4061 New targets.
4062 * configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
4063 "mach3" instead of "mach".
4064 (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
4065 * targets.c (m88kmach3_vec): New target vector.
4066 (bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
4067 inside #if 0.
4068 * aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
4069 checking for execute permission, instead of looking at entry
4070 point.
4071 * i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
4072 N_SHARED_LIB, don't include aout/*.h files, etc.
4073 * m88kmach3.c: New file, m88k Mach 3 target.
4074 * config/m88k-mach3.mt, config/mips-mach3.mt: New files, target
4075 makefile fragments.
4076 * config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
4077 New files, host makefile fragments.
4078 * hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
4079
71edd06d
ILT
4080Tue Jul 5 13:56:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4081
4082 * elfcode.h (swap_out_syms): Get alignment of common symbol from
4083 st_value field of saved ELF symbol information, if there is any.
4084
edf7c1e4
JL
4085Mon Jul 4 19:13:32 1994 Jeff Law (law@snake.cs.utah.edu)
4086
4087 * som.h (R_HPPA_COMPLEX): Define.
4088 * elf32-hppa.h (R_HPPA_COMPLEX): Define.
4089 (elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17.
4090
4091Fri Jul 1 12:07:41 1994 Jeff Law (law@snake.cs.utah.edu)
4092
4093 * Support code for enabling the new style linker for PA ELF.
4094 * elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
4095 (elf_compute_section_file_positions): Pass link_info to
4096 the begin_write_processing hook.
4097 (bfd_elf_write_object_contents): Pass NULL for new link_info
4098 argument to final_write_processing hook.
4099 (elf_link_output_sym): Accept new "input_section" argument for
4100 the symbols's input section. All callers changed. Call the
4101 link_output_symbol_hook if it's defined.
4102 (elf_bfd_final_link): Call the final_write_processing hook if
4103 it's defined.
4104 * libelf.h (elf_backend_link_output_symbol_hook): Declare.
4105 (elf_backend_begin_write_processing): Add new "info" argument.
4106 (elf_backend_final_write_processing): Likewise.
4107 * elf32-target.h (elf_backend_link_output_symbol_hook): Provide
4108 a default definition.
4109 (elf32_bed): Add elf_backend_link_output_symbol_hook.
4110 * elf64-target.h: Likewise.
4111
4112 * Major rework of the PA ELF code. Uses the new style BFD
4113 linker, major cleanups.
4114 * hppa_stubs.h: Rewrite from scratch. Much smaller and simpler.
4115 * elf32-hppa.h: Delete all symbol extension related code.
4116 (hppa_look_for_stubs_in_section): Delete decl.
4117 (elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
4118 * elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
4119 into elf32-hppa.c. Do not include aout64.h.
4120 (typdef hppa_stub_type): Delete.
4121 (elf32_hppa_stub_name_list_struct): Delete.
4122 (elf32_hppa_stub_description_struct): Delete.
4123 (arg_reloc_type): Use simpler enumerations. All references changed.
4124 (arg_location, arg_reloc_relocation): Likewise.
4125 (elf32_hppa_symextn_map_struct): Delete.
4126 (get_symbol_value): Delete.
4127 (elf32_hppa_get_sym_extn): Delete.
4128 (find_stubs, new_stubs, type_of_mismatch): Delete.
4129 (find_stub_by_name, add_stub_by_name): Delete.
4130 (hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
4131 (hppa_elf_arg_reloc_needed): Renamed. Simplify.
4132 (hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
4133 (hppa_elf_long_branch_needed_p): Delete.
4134 (hppa_look_for_stubs_in_section): Delete.
4135 (hppa_elf_get_section_contents): Delete.
4136 (elf32_hppa_backend_symbol_processing): Delete.
4137 (elf32_hppa_backend_section_processing): Delete.
4138 (elf32_hppa_backend_section_from_shdr): Delete.
4139 (elf32_hppa_backend_fake_sections): Delete.
4140 (elf32_hppa_backend_section_from_bfd_section): Delete.
4141 (NEW_INSTRUCTION): Delete.
4142 (CURRENT_STUB_OFFSET): Delete.
4143 (elf32_hppa_relocate_section): New function.
4144 (elf32_hppa_bfd_final_link_relocate): New function.
4145 (elf32_hppa_size_symext): New function.
4146 (elf32_hppa_link_output_symbol_hook): New function.
4147 (elf32_hppa_read_symext_info): New function.
4148 (elf32_hppa_add_symbol_hook): New function.
4149 (elf32_hppa_name_of_stub): New function.
4150 (elf32_hppa_size_of_stub): New function.
4151 (elf32_hppa_build_one_sub): New function.
4152 (elf32_hppa_build_stubs): New function.
4153 (elf32_hppa_size_stubs): New function.
4154 (linker, stub and argument hash tables): Add appropriate
4155 structures, definitions and functions to implement all three
4156 hash tables.
4157 (hppa_elf_relocate_insn): Don't need argument location information
4158 in this function.
4159 (add_entry_to_symext_chain): Accept a symbol's argument location
4160 information rather than the symbol itself. All callers changed.
4161 (hppa_elf_gen_reloc_type): Simplify.
4162 (hppa_elf_set_section_contents): Stub section is no longer special.
4163 (hppa_elf_reloc): Greatly simplify.
4164 (elf32_hppa_begin_write_processing): Accept link_info argument.
4165 Handle being called from the BFD backend linker.
4166 (elf32_hppa_final_write_processing): Likewise.
4167 (elf_hppa_tc_make_sections): No longer call stub_finish.
4168
eeaed195
SC
4169Mon Jun 27 18:07:06 1994 Steve Chamberlain (sac@cirdan.cygnus.com)
4170
4171 * section.c (bfd_get_section_contents): Put in parens to get
4172 precedence right.
4173
4174Sun Jun 26 18:08:29 1994 Jeff Law (law@snake.cs.utah.edu)
4175
4176 * libelf.h (relocate_section): New argument "output_names" added
4177 to prototype.
4178 * elfcode.h (elf_link_input_bfd): New argument "output_names"
4179 added to prototype of relocate_section. Pass the output symbol
4180 names to relocate_section.
4181 * elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
4182 determine the name of a local symbol.
4183 * elf32-mips.c (mips_elf_relocate_section): Likewise.
4184 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4185
5e16521a
PS
4186Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4187
4188 Add Solaris BCP (the part of Solaris which allows it to run
4189 SunOS4 a.out files) core file handling.
4190 * aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
4191 New structure and its swap in function.
4192 (internal_sunos_core): New member c_data_addr, to receive the
4193 start address of the data section in the core file.
4194 (swapcore_sun3, swapcore_sparc, sunos4_core_file_p): Use it.
4195 (sunos4_core_file_p): Recognize Solaris BCP core file.
4196 (sunos4_core_file_matches_executable_p): Always indicate match
4197 for Solaris BCP core files.
4198
51fc377b
ILT
4199Thu Jun 23 15:31:28 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4200
8af74670
ILT
4201 Preliminary support for generating shared libraries, from Eric
4202 Youngdale <ericy@cais.cais.com>.
4203 * elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
4204 (elf_link_add_object_symbols): If generating a shared library,
4205 create dynamic sections for first input BFD with the right format.
4206 (elf_link_create_dynamic_sections): Don't create .interp section
4207 if creating a shared library.
4208 (elf_link_input_bfd): Skip dynamic sections in input file.
4209 (elf_bfd_final_link): If creating a shared library, it's OK for
4210 dynobj to have sections which are not SEC_IN_MEMORY.
4211 * elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
4212 section if not creating a shared library.
4213 * elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
4214
51fc377b
ILT
4215 * elfcode.h (elf_object_p): Don't set DYNAMIC just because there
4216 is an SHT_DYNAMIC section.
4217
4218 * cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
4219 object_flags.
4220 * coff-sparc.c (sparccoff_vec): Likewise.
4221 * hppabsd-core.c (hppabsd_core_vec): Likewise.
4222
4223 * aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
4224 just because DYNAMIC is set.
4225
1f8b3b57
DM
4226Thu Jun 23 12:53:41 1994 David J. Mackenzie (djm@rtl.cygnus.com)
4227
4228 * configure.in: Change --with-targets to --enable-targets and
4229 --with-64-bit-bfd to --enable-64-bit-bfd.
4230 * Makefile.in, mpw-make.in, targets.c: Change comments.
4231
3bf36e67
KR
4232Wed Jun 22 17:59:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4233
4234 * config.bfd (powerpc-*-elf*): New target, just like
4235 powerpc-*-sysv4*.
4236
2e66a627
KR
4237 * linker.c (FAIL): Undefine macro before defining as enum.
4238
4587b578
ILT
4239Wed Jun 22 10:52:47 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4240
135a6815
ILT
4241 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
4242 pass from abfd->archive_pass, and save it there as well.
4243
a537cb21
ILT
4244 * hash.c (bfd_hash_allocate): Don't call bfd_set_error if
4245 obstack_alloc returns NULL unless the size is non-zero.
4246
4247 * linker.c (archive_hash_allocate): Define.
4248 (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
4249 rather than obstack_alloc, for clarity.
4250
66f2c66f
ILT
4251 * elfcode.h (elf_get_reloc_upper_bound): Correct.
4252
d81843e8
ILT
4253 * aout64.c (BMAGIC, QMAGIC): Define if not already defined. From
4254 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
4255
0630aba5
ILT
4256 Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
4257 * libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
4258 * aout-target.h (MY(callback)): Only set alignment according to
4259 architecture if the section sizes are aligned to that alignment,
4260 for backward compatibility.
4261 (MY(set_sizes)): Initialize zmagic_disk_block_size field.
4262 * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set
4263 text section filepos to zmagic_disk_block_size if not ztih. Use a
4264 different padding algorithm if not ztih.
4265 * i386linux.c (MY_text_includes_header): Don't define.
4266
4587b578
ILT
4267 * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
4268 symbols; don't look them up in the hash table. From
4269 ralphc@pyramid.com (Ralph Campbell).
4270
badd23e3
ILT
4271Tue Jun 21 11:47:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4272
4587b578
ILT
4273 * coff-go32.c (go32coff_archive_p): Remove unused function.
4274
badd23e3
ILT
4275 * section.c (bfd_abs_section): Make const.
4276 (bfd_abs_section_ptr, bfd_is_abs_section): Define.
4277 (bfd_und_section): Make const.
4278 (bfd_und_section_ptr, bfd_is_und_section): Define.
4279 (bfd_com_section): Make const.
4280 (bfd_com_section_ptr): Define.
4281 (bfd_ind_section): Make const.
4282 (bfd_ind_section_ptr, bfd_is_ind_section): Define.
4283 (bfd_abs_symbol, bfd_com_symbol): Make const.
4284 (bfd_und_symbol, bfd_ind_symbol): Likewise.
4285 (global_syms): Cast initialization of section field.
4286 (STD_SECTION): Define as const, and cast initializations.
4287 * bfd-in2.h: Rebuilt.
4288 * Many files: Change uses of bfd_abs_section, etc., to use
4289 bfd_abs_section_ptr or bfd_is_abs_section, etc.
4290
263a3f17
ILT
4291Mon Jun 20 11:06:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4292
2f3508ad
ILT
4293 * Many files: change all bfd_target vectors to be const. Change
4294 all uses of bfd_target * to be const bfd_target *. Change
4295 bfd_target_vector and bfd_default_vector arrays to be const
4296 bfd_target * const *.
4297
75f3ef7a
ILT
4298 * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
4299 elf32-mips.c: Renamed all externally visible ECOFF routines which
4300 are local to BFD to start with _bfd_ecoff instead of just ecoff.
4301
aac6b32f
ILT
4302 * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
4303 (ecoff_swap_tir_out): Likewise.
4304 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
4305 (ecoff_slurp_symbolic_info): Add new arguments to correspond to
4306 read_debug_info entry point in ecoff_debug_swap structure.
4307 Change all calls.
4308 * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
4309 * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
4310 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
4311 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
4312 ecoff_debug_swap fields.
4313 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4314 * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
4315 (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
4316 fields.
4317 * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
4318 ecofflink.o.
4319 (bfd_elf32_littlemips_vec): Likewise.
4320 (ecoff_big_vec, ecoff_little_vec): Likewise.
4321 (ecoffalpha_little_vec): Likewise.
4322 * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
4323 (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
4324
6c8fa8e6
ILT
4325 * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
4326 when computing reloc sizes. From Eric Youngdale
4327 <ericy@cais.cais.com>.
4328 * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
4329 reloc count or size for a non-ELF file.
4330
6fea0659
ILT
4331 * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
4332
263a3f17
ILT
4333 * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
4334 (BMAGIC, QMAGIC): Define; used by aoutx.h.
4335 (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
4336 calls to use new parameters.
4337
785e2b52
ILT
4338Fri Jun 17 14:45:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4339
4340 * aout-target.h (MY(callback)): Set the alignments of the text,
4341 data and bss sections after determining the architecture.
4342
4343 * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
4344 dynamic object as being in the .bss section of the object, rather
4345 than as being undefined.
4346
83b69190
JL
4347Fri Jun 17 11:16:50 1994 Jeff Law (law@snake.cs.utah.edu)
4348
9fefc1be
JL
4349 * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
4350
83b69190
JL
4351 * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
4352
c46b8ed7
JL
4353Thu Jun 16 23:36:23 1994 Jeff Law (law@snake.cs.utah.edu)
4354
4355 * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
4356 if there aren't any in the input file.
4357
04003b57
ILT
4358Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
4359
4360 * i386linux.c: Many new functions and definitions for linker
4361 support for Linux shared libraries.
4362 * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
4363 * bfd-in2.h: Rebuild.
4364
4365Thu Jun 16 14:23:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4366
e3400040
ILT
4367 * config.bfd: If second argument is ``_'', then, instead of
4368 echoing config file name, echo whether target uses leading
4369 underscores on symbol names. Add appropriate settings to
4370 different cases. Used by binutils/configure.in to set default for
4371 c++filt.
4372
0ff5d3a6
ILT
4373 * elfcode.h (elf_bfd_final_link): If trying to generate a shared
4374 object, warn and return false.
4375
04003b57
ILT
4376 * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
4377 and treat them as OMAGIC.
4378
485dc654
KR
4379Wed Jun 15 18:02:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4380
4381 Enable sparc v9 support for release. Note that this is still a
4382 work in progress, pending release of an ABI specification.
4383 * config.bfd, configure.in: Include sparc v9 elf config.
4384 * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
4385 * reloc.c (bfd_reloc_code_real): New reloc types.
4386 * elf64-sparc.c: Implement elf64-sparc target.
4387 * Makefile.in, targets.c: Updated.
4388
d17fc4c9
ILT
4389Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4390
c1f84521
ILT
4391 * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
4392 (elf_dt_needed_name): New accessor macro.
4393 * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
4394 is set, use that instead of the filename for the DT_NEEDED dynamic
4395 entry.
4396 * elf.c (bfd_elf_set_dt_needed_name): New function.
4397 * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
4398 * bfd-in2.h: Rebuilt.
4399
7c726b66
ILT
4400 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
4401 argument, and set it to the .interp section.
4402 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
4403 (bfd_elf64_size_dynamic_sections): Likewise.
4404 * bfd-in2.h: Rebuilt.
4405
f1d42c04
ILT
4406 * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
4407 field of the reloc rather than letting it be garbage.
4408
aeef32f0
ILT
4409 * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
4410 __.SYMDEF; the former was used in old Linux archives. From
4411 jrs@world.std.com (Rick Sladkey).
4412
f7d2fa44
ILT
4413 * i386linux.c (i386linux_write_object_contents): Define; like
4414 MY(write_object_contents) in aout-target.h, but set MACHTYPE to
4415 M_386. From jrs@world.std.com (Rick Sladkey).
4416 (MY_write_object_contents): Define.
4417
2cd086e3
ILT
4418 * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
4419 as N_DATA symbols.
4420 (aout_link_add_symbols): Likewise.
4421
d17fc4c9
ILT
4422 * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
4423 tables.
4424 (struct stringtab_entry, struct stringtab_data): Remove.
4425 (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
4426 (struct strtab_hash_entry, struct strtab_hash): Define.
4427 (strtab_hash_newfunc, strtab_hash_lookup): Define.
4428 (stringtab_free, emit_stringtab): Define.
4429 (stringtab_init, add_to_stringtab): Rewrite.
4430 (NAME(aout,write_syms)): Use new stringtab code.
4431 (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
4432 (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
4433
4434 * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
4435 request BFD to write object in the traditional format, whatever
4436 that means for the particular backend.
4437 * bfd-in2.h: Rebuilt.
4438
4439 * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
4440 bfd_error_no_memory.
4441
ac9ed096
ILT
4442Tue Jun 14 13:00:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4443
f5419a59
ILT
4444 * libaout.h (struct aoutdata): Add q_magic_format to subformat
4445 enum.
4446 * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
4447 if not already defined. Copy subformat information.
4448 (MY_text_includes_header): Define as 0 if not already defined.
4449 (MY(backend_data)): Use MY_text_includes_header rather than 0.
4450 (MY_final_link_callback): Rename from final_link_callback, and
4451 define only if MY_final_link_callback is not already defined.
4452 (MY_bfd_final_link): Rename use of final_link_callback to
4453 MY_final_link_callback.
4454 * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
4455 ZMAGIC, but set the subformat to q_magic_format. Abort if the
4456 magic number if not recognized.
4457 (adjust_z_magic): Use QMAGIC if q_magic_format.
4458 * i386linux.c (MY_text_includes_header): Define as 1.
4459 (i386linux_bfd_final_link): New static function.
4460 (MY_bfd_final_link): Define as i386linux_bfd_final_link.
4461
4462 * aoutx.h (translate_to_native_sym_flags): Check both section and
4463 output_section against sections of abfd.
4464
ac9ed096
ILT
4465 * libecoff.h (struct ecoff_link_hash_entry): Change type of
4466 written from boolean to char. Add new field small.
4467 * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
4468 rather than false. Initialize small to 0.
4469 (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
4470 small. If small is set, and hash table type is common, force the
4471 symbol into a section named SCOMMON and change the ECOFF type from
4472 scCommon to scSCommon.
4473 (ecoff_link_write_external): Set written to 1 rather than true.
4474 * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
4475 overflow check to consider section VMA of input file.
4476
9ae74960
ILT
4477Mon Jun 13 14:20:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4478
4479 * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
4480 machine type of 68000.
4481 * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
4482 Set *unknown to true if machine type is really unknown, as opposed
4483 to M_UNKNOWN for the 68000.
4484 (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
4485 accordingly.
4486 * libaout.h (NAME(aout,machine_type)): Add new argument to
4487 prototype.
4488
8117e1ea
JL
4489Sun Jun 12 20:21:03 1994 Jeff Law (law@snake.cs.utah.edu)
4490
4491 * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
4492 or HIUX_AUX_ID.
4493 (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
4494 (som_write_armap): Use CPU_PA_RISC1_0 as the magic number. Note
4495 som.c is careful to always define CPU_PA_RISC1_0.
4496
4298e311
ILT
4497Sat Jun 11 16:32:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4498
4499 Add weak symbols as an extension to a.out.
4500 * aoutx.h (sym_in_text_section): Don't define.
4501 (sym_in_data_section, sym_in_bss_section): Likewise.
4502 (sym_is_undefined, sym_is_global_defn): Likewise.
4503 (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
4504 (sym_is_absolute, sym_is_indirect): Likewise.
4505 (translate_from_native_sym_flags): Rewrite for clarity. Rearrange
4506 arguments and change caller. Handle weak symbols.
4507 (translate_to_native_sym_flags): Likewise.
4508 (aout_link_check_ar_symbols): Don't ignore weak symbols. Pull
4509 object in from archive if a weak defintion is found for an
4510 existing undefined symbol.
4511 (aout_link_add_symbols): Put all cases in switch. Set flags of an
4512 undefined symbol to 0. Handle weak symbols.
4513 (aout_link_write_symbols): Handle weak symbols.
4514 (aout_link_write_other_symbol): Likewise.
4515 (aout_link_input_section_std): Likewise.
4516 (aout_link_input_section_ext): Likewise.
4517 * sunos.c (sunos_write_dynamic_symbol): Likewise.
4518
22aabad5
ILT
4519Fri Jun 10 13:25:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4520
4f019d04
ILT
4521 * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
4522 (NAME(aout,get_reloc_upper_bound)): Likewise.
4523
22aabad5
ILT
4524 * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
4525 * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
4526 the section of a common symbol is not NULL.
4527
4528Wed Jun 8 23:15:53 1994 Stu Grossman (grossman@cygnus.com)
4529
4530 * nlmcode.h (nlm_object_p): Set EXEC_P and start address for GDB.
4531
1b88cd18
ILT
4532Wed Jun 8 23:57:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4533
4534 * aoutx.h (aout_get_external_symbols): Don't try to read the
4535 strings if there are no symbols.
4536 (aout_link_write_other_symbol): Use the output section when
4537 working out the type.
4538
d38eee51
ILT
4539Tue Jun 7 13:25:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4540
b9ac0a53
ILT
4541 * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
4542 strtab sections at end of file. Avoids bug in some versions of
4543 SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
4544
d38eee51
ILT
4545 * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
4546 set SEC_DEBUGGING for STYP_INFO sections.
4547 (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
4548 defined, and D_PAGED is set, set the file position equal to the
4549 section VMA modulo COFF_PAGE_SIZE.
4550 * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
4551 * coff-i386.c: Set D_PAGED in BFD target.
4552 (COFF_PAGE_SIZE): Define.
4553 * coff-m68k.c, coff-sparc.c: Likewise.
4554
d8d67d66
ILT
4555Mon Jun 6 10:57:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4556
e6667b2b
ILT
4557 * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
4558 into a BFD section just because SHF_ALLOC is set; require that it
4559 not use the normal symbol table.
4560 (elf_section_from_bfd_section): Corresponding change.
4561
118e8d1c
ILT
4562 Better indirect and warning symbol handling inspired by Stuart
4563 Quick <stuck@cs.man.ac.uk>.
4564 * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
4565 (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
4566 to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
4567 REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
4568 Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
4569 from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
4570 Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
4571 WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
4572 to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
4573 (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
4574 REFC. If a new indirect symbol has been referenced, push the
4575 reference down to the symbol it points to. FIx handling of WARN.
4576 * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
4577 clobber e_type of next symbol.
4578 (translate_to_native_sym_flags): Likewise.
4579 (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
4580 as bfd_link_hash_indirect.
4581
35fee729
ILT
4582 * libaout.h (struct aout_link_hash_entry): New field written.
4583 * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
4584 (aout_link_write_symbols): Use written, not root.written.
4585 (aout_link_write_other_symbol): Likewise.
4586 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
4587 * libecoff.h (struct ecoff_link_hash_entry): New field written.
4588 * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
4589 (ecoff_link_write_external): use written, not root.written.
4590 * genlink.h (struct generic_link_hash_entry): New field written.
4591 * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
4592 (generic_link_hash_newfunc): Initialize written.
4593 (_bfd_generic_link_output_symbols): Use written, not root.written.
4594 (_bfd_generic_link_write_global_symbol): Likewise.
4595 (_bfd_generic_reloc_link_order): Likewise.
4596
469984d1
ILT
4597 * libecoff.h (ecoff_data_type): Add linker field.
4598 * ecoff.c (ecoff_write_object_contents): Check new tdata linker
4599 field, rather than outsymbols being non-NULL, to decide whether to
4600 output the symbols and relocs.
4601 (ecoff_bfd_final_link): Set new tdata linker field to true.
4602
30f34d07
ILT
4603 * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
4604 data to a non-ECOFF file.
4605
d8d67d66
ILT
4606 * libbfd-in.h: Add warning that libbfd.h is a generated file.
4607 * libbfd.h: Rebuilt.
4608
a04e14b6
ILT
4609Sun Jun 5 15:02:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4610
fa15568a
ILT
4611 Changes to support ELF strip and objcopy on dynamically linked
4612 files.
4613 * elfcode.h (elf_fake_sections): Add prototype.
4614 (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
4615 section, and from an SHT_DYNSYM section, and from the dynamic
4616 string table section.
4617 (elf_object_p): Set D_PAGED if there is a program header.
4618 (elf_make_sections): Remove.
4619 (fix_up_strtabs): Remove.
4620 (elf_fake_sections): Rewrite. Now sets sh_entsize.
4621 (assign_section_numbers): Rewrite. Now sets sh_link and sh_info
4622 for all sections.
4623 (elf_compute_section_file_positions): Don't call obsolete
4624 functions elf_make_sections or fix_up_strtabs.
4625 (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
4626 (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
4627 objects.
4628 (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
4629 sections. If an SHT_REL or SHT_RELA section is allocated or uses
4630 an unusual symbol table, permit a BFD section to map to it.
4631 Permit most SHT_STRTAB sections to have a BFD section mapped to
4632 them.
4633 (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
4634 fields of dynamic sections here; do it in assign_section_numbers.
4635 * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
4636 flags.
4637
a04e14b6
ILT
4638 * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
4639 SEC_LOAD is set, rather than checking SEC_ALLOC.
4640
4641 * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
4642
4ee3b9be
JL
4643Fri Jun 3 10:58:02 1994 Jeff Law (law@snake.cs.utah.edu)
4644
99fa5510
JL
4645 * som.c (som_write_object_contents): Don't compute the file header's
4646 checksum here.
4647 (som_write_headers): Instead do it here.
4648
4ee3b9be
JL
4649 * libbfd.h (bfd_realloc): Change last arg to "size_t size".
4650
e85e8bfe
ILT
4651Thu Jun 2 17:39:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4652
2855b89f
ILT
4653 * hosts/sun3.h: Include <stdlib.h>. Don't declare free, exit or
4654 getenv.
4655
e85e8bfe
ILT
4656 Add linker support for SunOS shared libraries.
4657 * sunos.c: Include bfdlink.h. Add many new functions and
4658 definitions for SunOS shared library support.
4659 * bfd-in.h (bfd_sunos_record_link_assignment): Declare.
4660 (bfd_sunos_size_dynamic_sections): Declare.
4661 * bfd-in2.h: Rebuilt.
4662 * aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
4663 (struct aout_link_hash_table): Likewise.
4664 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
4665 (aout_hash_table): Likewise.
4666 (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
4667 and make externally visible.
4668 (NAME(aout,link_hash_table_init)): New function.
4669 (NAME(aout,link_hash_table_create)): Call
4670 NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
4671 (aout_link_add_symbols): Don't fail if no symbols. If it exists,
4672 call add_dynamic_symbols backend entry point for dynamic objects.
4673 Use add_one_symbol backend entry point if it exists.
4674 (NAME(aout,final_link)): Call finish_dynamic_link backend entry
4675 point, if it exists.
4676 (aout_link_input_bfd): For a dynamic object, call
4677 link_dynamic_object backend entry point, if it exists.
4678 (aout_link_write_other_symbol): Call write_dynamic_symbol backend
4679 entry point, if it exists.
4680 (aout_link_input_section): Don't read the relocs if they have
4681 already been read.
4682 (aout_link_input_section_std): When doing a final link, for a
4683 reloc against an external symbol, call check_dynamic_reloc backend
4684 entry point, if it exists.
4685 (aout_link_input_section_ext): Likewise.
4686 * libaout.h: Protect against multiple inclusion. Include
4687 bfdlink.h.
4688 (struct aout_link_hash_entry): Move in from aoutx.h.
4689 (struct aout_link_hash_table): Likewise.
4690 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
4691 (aout_hash_table): Likewise.
4692 (struct aout_backend_data): Add fields add_dynamic_symbols,
4693 add_one_symbol, link_dynamic_object, write_dynamic_symbol,
4694 check_dynamic_reloc, and finish_dynamic_link.
4695 (struct aout_section_data_struct): Define new structure.
4696 (aout_section_data): Define new accessor macro.
4697 (NAME(aout,link_hash_newfunc)): Declare.
4698 (NAME(aout,link_hash_table_init)): Declare.
4699 * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
4700 fields.
4701 * aout-target.h (MY(backend_data)): Likewise.
4702 * i386aout.c (MY(backend_data)): Likewise.
4703 * i386mach3.c (MY(backend_data)): Likewise.
4704 * mipsbsd.c (MY(backend_data)): Likewise.
4705 * sparclynx.c (sparclynx_aout_backend): Likewise.
4706
4707 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
4708 until we know it is non-NULL.
4709 (aout_link_write_symbols): Don't skip a warning symbol even if it
4710 has already been written out. If skipping an indirect symbol,
4711 skip the next symbol as well.
4712
220642fd
ILT
4713Wed Jun 1 14:37:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4714
4715 * hosts/sun3.h: Don't declare qsort, malloc or realloc.
4716
c06e55d9
KR
4717Thu May 26 13:56:03 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4718
4719 * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
4720 to char pointer to avoid compiler warnings.
4721
4722 * dep-in.sed: Remove spaces before colons.
4723
4724 Merged changes back in from FSF gas release 2.3:
4725
4726 * Makefile.in (stmp-bfd.h): Wrap `if' block around grep
4727 invocation, to avoid a bug in BSD 4.4 make.
4728
4729 From Ralph Campbell:
4730 * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
4731 error.
4732 (mips_fix_hi16_s): Ditto.
4733
4734 Fri May 13 21:21:00 1994 DJ Delorie (dj@ctron.com)
4735
4736 * makefile.dos: define a default target, or archives won't work
4737 due to multiple matches.
4738
4739 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
4740
4741 * configure.bat: update for latest files
4742 * makefile.dos: update for correct targets and sources
4743 * coff-go32.c: [new] go32's COFF format (i386coff with underscores)
4744 * targets.c: add go32coff target
4745 * makefile.in: add coff-go32.c support
4746
ada45a2a
JL
4747Thu May 26 10:10:21 1994 Jeff Law (law@snake.cs.utah.edu)
4748
4749 * som.c (som_prep_headers): Do not set the system_id here, private
4750 bfd data has not been copied yet.
4751 (som_write_headers): Instead do it here.
4752
5315c428
ILT
4753Tue May 24 16:17:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4754
4755 Make MIPS ELF use new ELF backend linker. No shared library
4756 support yet.
4757 * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
4758 (bfd_mips_elf32_swap_gptab_out): New function.
4759 (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
4760 (mips_elf_final_write_processing): Set sh_info field for .gptab.*
4761 sections.
4762 (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
4763 (mips_elf_read_ecoff_info): Read and free external symbols last,
4764 not first, for clarity.
4765 (struct mips_elf_link_hash_entry): Define new structure.
4766 (struct mips_elf_link_hash_table): Define new structure.
4767 (mips_elf_link_hash_lookup): Define new macro.
4768 (mips_elf_link_hash_traverse): Define new macro.
4769 (mips_elf_hash_table): Define new macro.
4770 (mips_elf_link_hash_newfunc): New static function.
4771 (mips_elf_link_hash_table_create): New static function.
4772 (mips_elf_add_symbol_hook): New static function.
4773 (struct extsym_info): Define new structure.
4774 (mips_elf_get_extr, mips_elf_set_index): Remove.
4775 (mips_elf_output_extsym): New static function.
4776 (gptab_compare): New static function.
4777 (mips_elf_final_link): Rewrite to use ELF backend linker, and to
4778 merge gptab information in input files.
4779 (mips_elf_relocate_hi16): New static function.
4780 (mips_elf_relocate_section): New static function.
4781 (bfd_elf32_bfd_link_hash_table_create): Define as macro before
4782 including elf32-target.h.
4783 (elf_backend_relocate_section): Likewise.
4784 (elf_backend_add_symbol_hook): Likewise.
4785 * elf.c (_bfd_elf_link_hash_newfunc): Rename from
4786 elf_link_hash_newfunc and make globally visible. Change caller.
4787 (_bfd_elf_link_hash_table_init): New function, broken out of
4788 _bfd_elf_link_hash_table_create.
4789 (_bfd_elf_link_hash_table_create): Use
4790 _bfd_elf_link_hash_table_init.
4791 * libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
4792 (elf_bad_symtab): Define new accessor macro.
4793 (_bfd_elf_link_hash_newfunc): Declare.
4794 (_bew_elf_link_hash_table_init): Declare.
4795 * elfcode.h (elf_object_p): Call backend object_p hook after
4796 swapping in all the section headers.
4797 (map_program_segments): Correct typo: Internal for External.
4798 (elf_link_add_object_symbols): If elf_bad_symtab is set, read all
4799 the symbols. Skip STB_LOCAL symbols rather than giving an error.
4800 (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
4801 all symbols, not just locals.
4802 (elf_link_output_extsym): Only skip a symbol not mentioned by a
4803 regular file if it is mentioned by a dynamic object.
4804 (elf_link_input_bfd): If elf_bad_symtab is set, read all the
4805 symbols.
4806
88bbe402
JL
4807Fri May 20 13:38:23 1994 Jeff Law (law@snake.cs.utah.edu)
4808
4809 * som.c (som_set_reloc_info): Do not set any relocation info
4810 for SOM fixups which are never passed to BFD.
4811
497c5434
ILT
4812Fri May 20 11:57:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4813
c8588f2f
ILT
4814 * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
4815 checking.
4816
95b77361
ILT
4817 * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
4818 the dynamic linking information for the benefit of the debugger.
4819 From Peter Schauer.
4820 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
4821
497c5434
ILT
4822 * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
4823 code repeated three times in bfd_section_from_shdr in elfcode.h.
4824 * libelf.h (_bfd_elf_make_section_from_shdr): Declare.
4825 * elfcode.h (bfd_section_from_shdr): Use new function
4826 _bfd_elf_make_section_from_shdr to create BFD sections. If a
4827 reloc section does not use the main symbol table, or it is part of
4828 the process image, treat it as a normal section, not relocs.
4829 * elf32-mips.c (mips_elf_section_from_shdr): Use new function
4830 _bfd_elf_make_section_from_shdr.
4831
013dec1a
ILT
4832Thu May 19 11:37:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4833
7a0c782d
ILT
4834 * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
4835 15 to 14 to match SVR4 ar.
4836
013dec1a
ILT
4837 Add support for ELF shared libraries. Loosely based on work by
4838 Eric Youngdale <ericy@cais.com>.
4839 * libelf.h (struct elf_backend_data): Add new fields for dynamic
4840 linking: elf_backend_create_dynamic_sections,
4841 elf_backend_adjust_dynamic_symbol,
4842 elf_backend_size_dynamic_sections,
4843 elf_backend_finish_dynamic_symbol,
4844 elf_backend_finish_dynamic_sections.
4845 (struct elf_link_hash_entry): Change type of align field to
4846 bfd_size_type. Add fields dynindx, dynstr_index, weakdef,
4847 elf_link_hash_flags.
4848 (struct elf_link_hash_table): Add fields dynobj, dynsymcount,
4849 dynstr, bucketcount.
4850 (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
4851 (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
4852 (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
4853 (bfd_elf32_add_dynamic_entry): Declare.
4854 (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
4855 (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
4856 (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
4857 (bfd_elf64_add_dynamic_entry): Declare.
4858 * elfcode.h (Elf_External_Dyn): Define.
4859 (elf_swap_reloc_in): Define as macro using NAME. Make externally
4860 visible.
4861 (elf_swap_reloc_out): Likewise.
4862 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
4863 (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
4864 and as new externally visible function.
4865 (elf_fake_sections): Set section type of dynamic sections based on
4866 section names.
4867 (elf_write_phdrs): Remove.
4868 (assign_file_position_for_section): Add new align argument.
4869 Change all callers.
4870 (get_program_header_size): New static function.
4871 (struct seg_info): Remove.
4872 (map_program_segments): Completely rewrite.
4873 (assign_file_positions_except_relocs): Completely rewrite.
4874 (assign_file_positions_for_relocs): Don't set a file position for
4875 sections which already have one. Don't bother to align the file
4876 position here.
4877 (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
4878 section types.
4879 (elf_section_from_bfd_section): Likewise.
4880 (elf_slurp_symbol_table): If section_from_elf_index fails, just
4881 use bfd_abs_section rather than returning an error.
4882 (elf_sizeof_headers): Make useful.
4883 (elf_link_record_dynamic_symbol): New static function.
4884 (elf_link_add_object_symbols): Handle dynamic objects.
4885 (elf_link_create_dynamic_sections): New static function.
4886 (elf_add_dynamic_entry): Define as macro using NAME and as new
4887 externally visible function.
4888 (NAME(bfd_elf,record_link_assignment)): New function.
4889 (elf_buckets): New static variable.
4890 (NAME(bfd_elf,size_dynamic_sections)): New function.
4891 (struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
4892 (elf_bfd_final_link): Handle dynamic linking. Create a section
4893 symbol for all ELF sections, not all BFD sections. Store section
4894 symbol index in target_index field, not index field. Traverse
4895 over global symbols even if stripping.
4896 (elf_link_output_extsym): Output dynamic symbols. Mark symbols
4897 defined by dynamic objects as undefined.
4898 (elf_link_input_bfd): Ignore dynamic objects. Use target_index
4899 field for section relocs, and make sure it is set.
4900 (elf_reloc_link_order): Use target_index field for section relocs,
4901 and make sure it is set.
4902 * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
4903 weakdef and elf_link_hash_flags fields.
4904 (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
4905 dynstr and bucketcount fields.
4906 * elf32-target.h: Initialize new dynamic linking fields.
4907 * elf64-target.h: Likewise.
4908 * elf32-i386.c: New functions for dynamic linking support.
4909 * elf32-sparc.c: Likewise.
4910 * bfd-in.h (bfd_elf32_record_link_assignment): Declare.
4911 (bfd_elf64_record_link_assignment): Declare.
4912 (bfd_elf32_size_dynamic_sections): Declare.
4913 (bfd_elf64_size_dynamic_sections): Declare.
4914 * bfd-in2.h: Rebuilt.
4915
82492ca1
ILT
4916Wed May 18 08:29:04 1994 Ian Lance Taylor (ian@cygnus.com)
4917
4918 * som.c: Don't include <sys/dir.h> or <sys/user.h>.
4919 (som_reloc_queue_find): Call memcmp instead of bcmp.
4920 (som_bfd_reloc_type_lookup): Change first argument to bfd *.
4921 (compare_syms): Change types of arguments to const void *.
4922 (bfd_section_from_som_symbol): Removed unused local found.
4923 (som_write_armap): Add elength, map, orl_count and int arguments.
4924 (som_write_armap): Use %ld and cast to long for getuid result.
4925
673aceca
JL
4926Wed May 18 09:09:32 1994 Jeff Law (law@snake.cs.utah.edu)
4927
4928 * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
4929 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
4930
4931 * som.h (R_HPPA_ABS_CALL): Define.
4932 * som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
4933
0f62bdc0
KR
4934Tue May 17 19:33:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4935
4936 * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
4937 underscore, for compatibility with Intel tool chain (gnu960v2).
4938
c3cb04b4
JL
4939Mon May 16 10:09:22 1994 Jeff Law (law@snake.cs.utah.edu)
4940
459ae909
JL
4941 * bfd-in2.h: Rebuilt.
4942
4943 * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
4944 likewise for other PA specific sections.
4945 (hppa_elf_relocate_unwind_table): Delete unused
4946 function.
4947 (elf_hppa_howto_table): Completely new table based on 94-02-02
4948 draft PA ELF spec. Change relocation tags appropriately
4949 throughout elf32-hppa.c
4950 (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
4951 spec.
4952 (hppa_elf_reloc): Likewise.
4953 (hppa_look_for_stubs_in_section): Likewise
4954 (ELF_MACHINE_CODE): Change to EM_PARISC.
4955 * elf32-hppa.h: Include "elf/hppa.h". Change relocation tags
4956 appropriately throughout elf32-hppa.h.
4957 (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
4958 spec.
4959 (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
4960 * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
4961 * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
4962 * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
4963
c3cb04b4
JL
4964 * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
4965 the final value twice for LR and RR field selectors.
4966
cb9461ff
JK
4967Sat May 14 09:09:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4968
4969 * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This
4970 avoids __eprintf troubles.
4971
8db528c8
ILT
4972Fri May 13 10:51:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4973
0d898d03
ILT
4974 * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
4975
8db528c8
ILT
4976 * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
4977 ecoff_little_vec since Irix 5 supports ECOFF executables.
4978
666f5925
ILT
4979Wed May 11 00:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4980
4fa4476b
ILT
4981 * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
4982 correctly.
4983
666f5925
ILT
4984 * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
4985 make to invoke the shell.
4986
c16313f0
ILT
4987Tue May 10 14:23:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4988
4989 * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
4990 SEC_SHARED_LIBRARY for clarity. Changed all uses.
4991 * bfd-in2.h: Rebuilt.
4992 * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
4993 set, set STYP_NOLOAD.
4994 * coffgen.c (coff_section_from_bfd_index): Don't get an assertion
4995 failure because of a bad shared library.
4996
eeb8c187
BC
4997Mon May 9 18:53:40 1994 Bill Cox (bill@rtl.cygnus.com)
4998
4999 * linker.c: Add missing comment terminator.
5000
6ec3bb6a
ILT
5001Mon May 9 11:53:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5002
8e5090ce
ILT
5003 * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
5004 are not NULL, assume the caller has already looked up the symbol
5005 in the hash table and has stored the entry in *hashp.
5006 (generic_link_add_symbol_list): Set h to NULL before calling
5007 _bfd_generic_link_add_one_symbol.
5008 * ecoff.c (ecoff_link_add_externals): Likewise.
5009
5010 * elfcode.h (assign_file_positions_except_relocs): Don't require
5011 page shared between .data and .bss segments to contain zeroes.
5012
6ec3bb6a
ILT
5013 * elfcode.h: Include bfdlink.h. Added several new functions to do
5014 linking.
5015 (ELF_R_TYPE): Define.
5016 (bfd_add_to_strtab): Return unsigned long. Change check for
5017 realloc failure.
5018 (elf_fake_sections): Check return value of bfd_add_to_strtab.
5019 (elf_compute_section_file_positions): Add link_info argument.
5020 Call elf_backend_begin_write_processing hook and prep_headers
5021 here. Only call swap_out_syms if link_info is NULL. Set up
5022 .shstrtab section here. Pass dosyms argument to
5023 assign_file_positions_except_relocs. Set output_has_begun flag.
5024 (assign_file_positions_for_symtab_and_strtabs): Add dosyms
5025 argument, and use it to control setting .symtab and .strtab file
5026 positions.
5027 (assign_file_positions_except_relocs): Add dosyms argument, and
5028 pass it on.
5029 (prep_headers): Check return value of bfd_add_to_strtab.
5030 (swap_out_syms): Likewise. Also, don't set up .shstrtab here.
5031 (NAME(bfd_elf,write_object_contents)): Some calls moved into
5032 elf_compute_section_file_positions.
5033 (elf_set_section_contents): Likewise.
5034 (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
5035 * libelf.h: Include bfdlink.h.
5036 (struct elf_backend_data): Add fields collect,
5037 elf_add_symbol_hook, elf_backend_relocate_section.
5038 (struct bfd_elf_section_data): Add field rel_hashes.
5039 (struct elf_obj_tdata): Remove fields internal_syms and symbols.
5040 Add field sym_hashes.
5041 (obj_symbols, obj_internal_syms): Remove definitions.
5042 (elf_sym_hashes): Define.
5043 (struct elf_link_hash_entry): Define.
5044 (struct elf_link_hash_table): Define.
5045 (elf_link_hash_lookup): Define.
5046 (elf_link_hash_traverse): Define.
5047 (elf_hash_table): Define.
5048 (_bfd_elf_link_hash_table_create): Declare.
5049 (bfd_elf32_bfd_link_add_symbols): Declare.
5050 (bfd_elf32_bfd_final_link): Declare.
5051 (bfd_elf64_bfd_link_add_symbols): Declare.
5052 (bfd_elf64_bfd_final_link): Declare.
5053 * elf.c: Include bfdlink.h.
5054 (elf_link_hash_newfunc): New function.
5055 (_bfd_elf_link_hash_table_create): New function.
5056 * elf32-target.h (elf_backend_relocate_section): If not defined,
5057 define as 0 and use generic linker. Otherwise, use ELF backend
5058 linker.
5059 (elf_backend_collect): If not defined, define as false.
5060 (elf_backend_add_symbol_hook): If not defined, define as 0.
5061 (elf32_bed): Initialize new fields.
5062 * elf64-target.h: Same changes as elf32-target.h.
5063 * elf32-i386.c: Include bfdlink.h.
5064 (elf_i386_relocate_section): New function.
5065 (elf_backend_relocate_section): Define.
5066 * elf32-sparc.c: Include bfdlink.h.
5067 (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
5068 to Elf_Internal_Rela (they're the same type anyhow).
5069 (elf_sparc_relocate_section): New function.
5070 (elf_backend_relocate_section): Define.
5071 * elf32-mips.c (elf_backend_collect): Define.
5072
5073 * Makefile.in (stmp-bfd.h): Avoid useless make error message in a
5074 different way; touch takes a numeric argument on some systems.
5075
5076Fri May 6 13:34:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5077
5078 * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
5079 handling for latest suggested format.
5080 (nlm_swap_auxiliary_headers_out): Likewise.
5081 (nlm_compute_section_file_positions): Likewise.
5082
5083Fri May 6 11:11:50 1994 D. V. Henkel-Wallace (gumby@rtl.cygnus.com)
5084
5085 * config.bfd: handle erricsson config (for OSE).
5086
5087Thu May 5 15:40:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5088
5089 Patches from Ralph Campbell:
5090 * mipsbsd.c (mips_fix_jmp_addr): New function.
5091 (mips_fix_hi16_s): Use bfd_is_com_section.
5092 (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
5093
d66da742
SC
5094Fri May 6 11:48:55 1994 Steve Chamberlain (sac@cygnus.com)
5095
5096 * config/go32.mh: XX support.
5097
5098 From bill
5099 * Makefile.in: Build sysdep.h without causing worrying but
5100 harmless error message.
5101
77d11284
ILT
5102Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com)
5103
5104 Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
5105 * aout0.c: New file.
5106 * targets.c (aout0_big_vec): Declare.
5107 (bfd_target_vector): Add aout0_big_vec.
5108 * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
5109 * config/m68k-aout.mt (SELECT_VECS): Removed.
5110 * config/m68k-0aout.mt: New file.
5111 * configure.in (aout0_big_vec): New target vector: use aout0.o,
5112 aout32.o and stab-syms.o.
5113 * Makefile.in: Rebuilt dependencies.
5114 (BFD32_BACKENDS): Add aout0.o.
5115 (CFILES): Add aout0.c.
5116
5117 * libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
5118 * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
5119 MY(backend_data): Initialize exec_hdr_flags field.
5120 * aoutf1.h (sunos_32_set_arch_mach): Make static.
5121 (aout32_sunos4_write_object_contents): Set flags from backend
5122 info.
5123 (MY_exec_hdr_flags): If not defined, define as 1.
5124 (sunos4_aout_backend): Initialize exec_hdr_flags field.
5125 * aout-encap.c (encap_write_object_contents): Set flags from
5126 backend info.
5127 (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
5128 * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
5129 (MY(write_object_contents)): Set flags from backend info.
5130 * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
5131 * i386mach3.c (MY(backend_data)): Likewise.
5132 * mipsbsd.c (MY(backend_data)): Likewise.
5133 * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
5134 flags from backend info.
5135 (sparclynx_aout_backend): Initialize exec_hdr_flags field.
5136
127f8e91
KR
5137Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5138
5139 * config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
5140 (m68*-apollo-*): Treat all Apollo configs the same, don't handle
5141 BSD specially.
5142
92400edb
ILT
5143Tue May 3 19:43:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5144
5145 * cache.c: Rewrote to work correctly.
5146 * libbfd.h: Rebuilt.
5147 * opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
5148 (bfd_fdopenr): Check return value of bfd_cache_init.
5149
e3361fc3
ILT
5150Fri Apr 29 15:08:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5151
5152 * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
5153 enumerating them, since the reloc type can not serve as an index
5154 into the m68k COFF howto_table.
5155
7c6ba201
SC
5156Fri Apr 29 09:42:39 1994 Steve Chamberlain (sac@cygnus.com)
5157
dbf13547 5158 * config.bfd (*-go32): Changed to coff.
7c6ba201 5159 * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
dbf13547
SC
5160 * srec.c (srec_write_symbols): Write out the correct number of
5161 symbols and don't stick in extra nulls.
7c6ba201 5162
380c60b1
SS
5163Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com)
5164
5165 * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
5166 * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
5167 (COFF_SPARC): Define.
5168 * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
5169 power of data and bss sections to 3.
5170 * hosts/lynx.h (__LYNXOS): Define.
5171
6c101bcf
JL
5172Tue Apr 26 15:04:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5173
5174 * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
5175 against section symbols to avoid losing during ld -r.
5176
5177Tue Apr 26 12:16:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5178
5179 * elfcode.h (shstrtab_length_fixed): Remove useless static
5180 variable.
5181 (struct elf_sect_data): Remove unused structure.
5182 (elf_object_p): Free memory if error occurs. Check return value
5183 of bfd_default_set_arch_mach. If elf_get_str_section fails,
5184 preserve error code rather than setting wrong_format.
5185 (null_shdr): Remove static variable.
5186 (assign_section_numbers): Remove shstrtab_length_fixed assignment.
5187 Allocate first section header on BFD obstack rather than using
5188 null_shdr.
5189 (bfd_prpsinfo): Remove unused local variable newsect.
5190
2e03ce18
ILT
5191Mon Apr 25 15:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5192
ba436e33
ILT
5193 * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
5194
2e03ce18
ILT
5195 * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
5196 to create sections. Check return value of recursive calls.
5197 (bfd_section_from_phdr): Check return value of bfd_make_section.
5198 (elf_symbol_from_bfd_symbol): Likewise.
5199 (elf_object_p): Check return value of bfd_section_from_shdr.
5200 (section_from_elf_index): Likewise.
5201 (elf_slurp_symbol_table): Check return value of
5202 section_from_elf_index.
5203 (bfd_prstatus): Return boolean value. Check return value of
5204 bfd_make_section.
5205 (bfd_fpregset): Likewise.
5206 (bfd_prpsinfo): Return boolean value.
5207 (elf_corefile_note): Check return values of bfd_prstatus,
5208 bfd_fpregset, and bfd_prpsinfo.
5209 (elf_core_file_p): Check return value of elf_corefile_note.
5210
79167def
ILT
5211Fri Apr 22 11:08:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5212
cc71e155
ILT
5213 Get rid of the ECOFF .reginfo section hack.
5214 * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
5215 (ecoff_new_section_hook): Don't handle the .reginfo section.
5216 (ecoff_sizeof_headers): Likewise.
5217 (ecoff_get_section_contents): Likewise.
5218 (ecoff_compute_section_file_positions): Likewise.
5219 (ecoff_compute_reloc_file_positions): Likewise.
5220 (ecoff_set_section_contents): Likewise.
5221 (ecoff_write_object_contents): Likewise.
5222 (ecoff_bfd_final_link): Likewise.
5223 (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
5224 register masks.
5225 (bfd_ecoff_get_gp_value): New function.
5226 (bfd_ecoff_set_gp_value): New function.
5227 (bfd_ecoff_set_regmasks): New function.
5228 * bfd-in.h (bfd_ecoff_get_gp_value): Declare.
5229 (bfd_ecoff_set_gp_value): Declare.
5230 (bfd_ecoff_set_regmasks): Declare.
5231 * bfd-in2.h: Rebuilt.
5232
1bb42b1f
ILT
5233 Fix ECOFF objcopy to actually copy debugging information.
5234 * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
5235 (ecoff_get_extr): Assume that any ECOFF symbol with local clear is
5236 an external symbol, rather than checking the symbol flags. Only
5237 check the flags for non-ECOFF symbols.
5238 * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
5239 output_section field of the symbol section is NULL.
5240 * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
5241 function rather than defining as macro.
5242
d290d8da
ILT
5243 * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
5244 appropriate.
5245
5246 * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
5247
80a903c9
ILT
5248 * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
5249 bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as
5250 bfd_arch_unknown.
5251 * coffcode.h (coff_set_arch_mach): Check return value of
5252 bfd_default_set_arch_mach.
5253 * elfcode.h (elf_set_arch_mach): Don't check a list of ELF
5254 architectures, just see if the desired architecture matches what
5255 the ELF backend permits.
5256
5257 * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
5258 SH_ARCH_MAGIC to match change in coff/sh.h.
5259 (coff_set_flags): Likewise.
5260
79167def
ILT
5261 Follow convention in which each NLM header has an 8 byte stamp
5262 followed by a four byte length.
5263 * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
5264 to nlm_cygnus_ext_header, and change type to
5265 Nlm_Internal_Cygnus_Ext_Header.
5266 (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
5267 * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
5268 of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require
5269 length word to be 8.
5270 (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
5271 cygnus_ext. Set length word to 8.
5272 (nlm_compute_section_file_positions): Rename from cygnus_section
5273 to cygnus_ext.
5274
7f772644
SG
5275Thu Apr 21 22:54:22 1994 Stu Grossman (grossman at cygnus.com)
5276
5277 * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table
5278 (from CyGnUsSeCs) in more permanent memory to keep section names
5279 from getting trashed.
5280
cb71adf1
PS
5281Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5282
5283 * libelf.h (elf_obj_tdata): Add members for dynamic symbol table
5284 handling.
5285 * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table.
5286 * elfcode.h (elf_slurp_symbol_table): Take additional parameter
5287 to select static or dynamic symbol table and return number of
5288 symbols slurped or -1 on error.
5289 * elfcode.h (elf_get_symtab): Set bfd symcount from
5290 elf_slurp_symbol_table result.
5291 * elfcode.h (elf_get_dynamic_symtab_upper_bound,
5292 elf_canonicalize_dynamic_symtab): New functions to handle dynamic
5293 symbol table.
5294 * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
5295 Change to handle dynamic symbol table, provide default definitions
5296 for dynamic relocs.
5297 * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
5298 NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
5299 aout_link_reloc_link_order): Handle r_jmptable and r_relative
5300 relocations.
5301
6c534df0
ILT
5302Thu Apr 21 11:58:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5303
1eff2af3
ILT
5304 Clean up uses of _bfd_dummy_target (from Peter Schauer).
5305 * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
5306 * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
5307 NULL.
5308 * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
5309 _bfd_check_format.
5310 (symbolsrec_vec): Likewise.
5311 * tekhex.c (tekhex_vec): Likewise.
5312
6c534df0
ILT
5313 * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
5314 field.
5315 (nlm_cygnus_section_header): New accessor macro.
5316 * nlmcode.h (nlm_object_p): Free new tdata structure if failure.
5317 Add fixed sections before swapping in auxiliary headers. After
5318 adding sections, treat errors as real, not as wrong format.
5319 (nlm_swap_auxiliary_headers_in): Swap in the sections header; add
5320 sections to the BFD for each section it describes.
5321 (nlm_swap_auxiliary_headers_out): Swap out the sections header.
5322 (nlm_compute_section_file_positions): Account for the size of the
5323 sections header.
5324
71363c41
KR
5325Wed Apr 20 16:45:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5326
4a5bfdbc
KR
5327 * coff-sparc.c (sparccoff_vec): Change minimum alignment power to
5328 2, so that stab sections can be multiples of 4 bytes only.
5329
71363c41
KR
5330 * hosts/i386aix.h: Changes to avoid prototypes conflicts with the
5331 ones defined in stdlib.h. (From Minh Tran-Le.)
5332
476d01f0 5333Wed Apr 20 14:15:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
476d01f0
ILT
5334
5335 * nlm32-ppc.c: Complete rewrite for new version of PowerPC
5336 NetWare. Old code still present, but ifdeffed out.
476d01f0
ILT
5337
5338 * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
5339 particular format for the customer header. Allocate a block of
5340 memory and read it into that.
5341 (nlm_swap_auxiliary_headers_out): Write out the block of memory.
5342 (nlm_compute_section_file_positions): Include length of customer
5343 header when computing its size.
5344
69478700
JL
5345Mon Apr 18 14:27:17 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5346
5347 * som.c (som_prep_headers): Get the space's number from the
5348 backend private section data rather than target_index.
5349 (bfd_som_set_section_attributes): Store the space's number
5350 in the backend private section data rather than target_index.
5351
5352 * som.h (som_copyable_section_data_struct): Add space_number.
5353
2ec2e6a9
ILT
5354Fri Apr 15 12:22:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5355
09ed3666
ILT
5356 * coff-a29k.c (reloc_processing): Always set the address of a
5357 R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
5358 gas does this anyhow, but some other assemblers seem to leave
5359 garbage in the R_IHCONST address field.
5360
97ea252e
ILT
5361 * bfd/archive.c: Consistently use ARFMAG; from
5362 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
5363 (_bfd_write_archive_contents): Use ARFMAG rather than '`' and
5364 '\012'.
5365 (bsd_write_armap): Likewise.
5366 (coff_write_armap): Likewise.
5367
ef79dba3
ILT
5368 * coff-mips.c (mips_relocate_section): When relaxing, adjust local
5369 relocs against the .text section as required.
5370 * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
5371 PDR addresses as required.
5372
2ec2e6a9
ILT
5373 * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdr
5374 index through rfd map if it exists. Check for a couple of cases
5375 which gdb handles specially. Change all callers.
5376 (ecoff_type_to_string): Take fdr argument rather than aux_ptr and
5377 bigendian argument. Change all callers.
5378 (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
5379
4f996613
ILT
5380Thu Apr 14 13:05:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5381
5382 * coff-mips.c (mips_howto_table): Add dummy entries to account for
5383 numbering changes in include/coff/mips.h. Add entries for
5384 MIPS_R_RELHI and MIPS_R_RELLO.
5385 (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
5386 when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI
5387 relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
5388 bits.
5389 (mips_ecoff_swap_reloc_out): Likewise.
5390 (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
5391 MIPS_R_RELHI relocs like MIPS_R_SWITCH.
5392 (mips_adjust_reloc_out): Likewise.
5393 (mips_relhi_addr, mips_relhi_addend): New static variables.
5394 (mips_relhi_reloc, mips_rello_reloc): New functions.
5395 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
5396 MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
5397 (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
5398 argument. Changed all callers.
5399 (mips_relocate_section): Rename got_reflo to got_lo and
5400 reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI
5401 relocs.
5402 (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
5403 expanding a PC relative call.
5404
5405 * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
5406 and BFD_RELOC_PCREL_LO16.
5407 * bfd-in2.h: Rebuilt.
5408
1a000744
SS
5409Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com)
5410
5411 * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
5412
41194a4a
JL
5413Tue Apr 12 13:36:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5414
5415 * som.c (som_write_fixups): Always emit at least
5416 one relocation for any non-bss section.
5417
bf08d1e2
ILT
5418Mon Apr 11 14:41:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5419
5420 * elfcode.h (assign_file_positions_except_relocs): Don't require
5421 the file alignment to correspond to the page size when linking
5422 with -N.
5423
9a5334e5
JL
5424Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5425
5426 * elfcode.h (write_relocs): For rela relocations, adjust the
5427 addend for relocations involving section symbols to account
5428 for the lossage of 1:1 mapping from input section symbols to
5429 output section symbols.
5430
e48f985c
ILT
5431Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5432
ec6b18c4
ILT
5433 * aoutx.h (NAME(aout,make_sections)): New function.
5434 (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
5435 rather than making sections inline.
5436 (NAME(aout,mkobject)): Don't make any sections.
5437 (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
5438 (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
5439 obj_datasec (abfd) if they are NULL.
5440 * libaout.h (NAME(aout,make_sections)): Declare.
5441 * bout.c (b_out_mkobject): Don't make any sections.
5442 (b_out_write_object_contents): Call aout_32_make_sections.
5443 (b_out_set_section_contents): Likewise.
5444 * i386os9k.c (os9k_mkobject): Don't make any sections.
5445 (os9k_write_object_contents): Call aout_32_make_sections.
5446 (os9k_set_section_contents): Likewise.
5447
e48f985c
ILT
5448 * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
5449 index.
5450
06863047
PS
5451Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5452
5453 * config.bfd, configure.host: Add mips-*-sysv4* support.
5454
dabf906e
ILT
5455Thu Apr 7 14:23:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5456
5457 * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
5458 (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
5459 r_offset and set r_symndx to RELOC_SECTION_TEXT.
5460 (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
5461 value from the r_offset field.
5462 (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
5463 For MIPS_R_SWITCH, copy the r_offset field into the addend field.
5464 (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
5465 into the r_offset field.
5466 (mips_switch_reloc): New function.
5467 (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
5468 MIPS_R_SWITCH.
5469 (mips_relocate_section): Handle MIPS_R_SWITCH.
5470 (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
5471
99a6c761
JL
5472Thu Apr 7 11:10:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5473
5474 * elfcode.h (elf_set_section_contents): Support calling the backend
5475 function elf_backend_begin_write_processing when just beginning to
5476 write an object file.
5477
5478 * libelf.h (elf_backend_begin_write_processing): Declare.
5479
5480 * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
5481 a default definition.
5482 (elf{32,64}_bed): Add elf_backend_begin_write_processing.
5483
5484 * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
5485 (elf_hppa_tc_make_sections): Likewise.
5486
5487 * elf32-hppa.c (symext_chain_built): Delete.
5488 (symext_chain_size): Renamed from symextn_contents_real_size.
5489 (elf32_hppa_backend_{begin,final}_write_processing): New functions.
5490 (add_entry_to_symext_chain): New function.
5491 (hppa_elf_set_section_contents): Ignore writes to the symbol extension
5492 section until it's been rebuilt internally.
5493 (hppa_elf_get_section_contents): Symbol extension section is no
5494 longer special.
5495 (elf_backend_{begin,final}_write_processing): Define.
5496 (elf_hppa_tc_make_sections): Simplify now that much code has
5497 migrated into elf32_hppa_backend_{being,final}_write_processing.
5498
6812b607
ILT
5499Wed Apr 6 17:24:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5500
dfc1c006
ILT
5501 Add new target vectors to read the dynamic symbols and dynamic
5502 relocs. Change a.out to use these rather than reading the dynamic
5503 symbols and relocs along with the normal symbols and relocs.
5504 * targets.c (bfd_target): Add fields
5505 _bfd_get_dynamic_symtab_upper_bound,
5506 _bfd_canonicalize_dynamic_symtab,
5507 _bfd_get_dynamic_reloc_upper_bound,
5508 _bfd_canonicalize_dynamic_reloc.
5509 (BFD_JUMP_TABLE_DYNAMIC): Define.
5510 * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
5511 Define.
5512 (_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
5513 (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
5514 (_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
5515 * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
5516 (bfd_canonicalize_dynamic_symtab): Define.
5517 (bfd_get_dynamic_reloc_upper_bound): Define.
5518 (bfd_canonicalize_dynamic_reloc): Define.
5519 * sunos.c (MY_read_dynamic_symbols): Don't define.
5520 (MY_read_dynamic_relocs): Don't define.
5521 (MY_get_dynamic_symtab_upper_bound): Define.
5522 (MY_canonicalize_dynamic_symtab): Define.
5523 (MY_get_dynamic_reloc_upper_bound): Define.
5524 (MY_canonicalize_dynamic_reloc): Define.
5525 (struct sunos_dynamic_info): Change type of dynsym_count and
5526 dynrel_count to long. Add fields canonical_dynsym and
5527 canonical_dynrel.
5528 (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
5529 Clear info->canonical_dynsym and info->canonical_dynrel.
5530 (MY(read_dynamic_symbols)): Removed.
5531 (MY(read_dynamic_relocs)): Removed.
5532 (sunos_get_dynamic_symtab_upper_bound): New function.
5533 (sunos_canonicalize_dynamic_symtab): New function.
5534 (sunos_get_dynamic_reloc_upper_bound): New function.
5535 (sunos_canonicalize_dynamic_reloc): New function.
5536 * libaout.h: Declare struct reloc_ext_external and
5537 reloc_std_external to avoid prototype problems.
5538 (struct aout_backend_data): Remove fields read_dynamic_symbols and
5539 read_dynamic_relocs.
5540 (NAME(aout,translate_symbol_table)): Declare.
5541 (NAME(aout,swap_ext_reloc_in)): Declare.
5542 (NAME(aout,swap_std_reloc_in)): Declare.
5543 * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
5544 translate_symbol_table and made non-static. Changed all callers.
5545 (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
5546 (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
5547 (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
5548 * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
5549 remove dynamic symbols and relocs. They will no longer be
5550 present.
5551 (MY_read_dynamic_symbols): Don't define.
5552 (MY_read_dynamic_relocs): Don't define.
5553 (sunos4_aout_backend): Don't initialize dynamic entry points.
5554 * aout-target.h (MY_read_dynamic_symbols): Don't define.
5555 (MY_read_dynamic_relocs): Don't define.
5556 (MY(backend_data)): Don't initialize dynamic entry points.
5557 (MY_get_dynamic_symtab_upper_bound): If not defined, define to
5558 _bfd_nodynamic version.
5559 (MY_canonicalize_dynamic_symtab): Likewise.
5560 (MY_get_dynamic_reloc_upper_bound): Likewise.
5561 (MY_canonicalize_dynamic_reloc): Likewise.
5562 * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
5563 * bfd-in2.h: Rebuilt.
5564 * libbfd.h: Rebuilt.
5565
5566 * cf-m68klynx.c: Include sysdep.h.
5567
5568 * hp300hpux.c: Removed some spaces in uses of NAME to avoid
5569 problems with traditional C compilers.
5570
6812b607
ILT
5571 * targets.c (bfd_target): Rearranged fields in target vector.
5572 Removed _bfd_debug_info_start, _bfd_debug_info_end and
5573 _bfd_debug_info_accumulate, which were never used.
5574 (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
5575 (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
5576 (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
5577 (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
5578 * All backends: Changed to use the new BFD_JUMP_TABLE_* macros
5579 rather than the single JUMP_TABLE macro. Removed many of the
5580 weird macro definitions needed to support the monolithic
5581 JUMP_TABLE.
5582 * bfd-in.h (JUMP_TABLE): Removed.
5583 * libbfd-in.h: Define a bunch of macros, and declare a few
5584 functions, for use with the new BFD_JUMP_TABLE_* macros.
5585 * libbfd.c (_bfd_dummy_new_section_hook): Removed.
5586 (bfd_false): Set bfd_error_invalid_operation.
5587 (bfd_nullvoidptr): Likewise.
5588 (bfd_n1): New function.
5589 (_bfd_nocore_core_file_matches_executable_p): Renamed from
5590 _bfd_dummy_core_file_matches_executable_p.
5591 (_bfd_nocore_core_file_failing_command): Similar rename. Set
5592 bfd_error_invalid_operation.
5593 (_bfd_nocore_core_file_failing_signal): Likewise.
5594 (_bfd_generic_get_section_contents): Renamed from
5595 bfd_generic_get_section_contents. Changed all callers.
5596 (_bfd_generic_set_section_contents): Similar rename.
5597 * ieee.c: #if 0 out ieee_bfd_debug_info_start,
5598 ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They
5599 were never called.
5600 * bfd-in2.h: Rebuilt.
5601 * libbfd.h: Rebuilt.
5602
65b1ef49
JL
5603Tue Apr 5 22:10:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5604
5605 * Crude support for examining dynamic libraries.
5606 * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
5607 DL_MAGIC objects.
5608 (som_prep_headers): Preserve the system_id for DYNAMIC objects.
5609 Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
5610 Write exec headers for DYNAMIC objects.
5611 (som_begin_writing): DYNAMIC objects have the same alignment
5612 restrictions as D_PAGED objects.
5613 (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
5614 objects.
5615 (object_flags): Add DYNAMIC.
5616
08a43162
SS
5617Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)
5618
5619 * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
5620 macro uses, confuses some non-ANSI compilers.
5621
b2452d39
JL
5622Tue Apr 5 15:50:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5623
5624 * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
5625 Don't free anything if we don't have a bfd_object.
5626 (som_close_and_cleanup): Call som_bfd_free_cached_info.
5627
b3cee0a9
ILT
5628Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5629
856613c4
ILT
5630 * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
5631 It turns out not to be required on Irix 5, and it causes problems
5632 if the sections happen to contain symbols.
5633
5634 * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
5635
b3cee0a9
ILT
5636 * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
5637 section->relocation is NULL; malloc might have returned NULL when
5638 given a zero size if there were no relocations.
5639 * bout.c (b_out_canonicalize_reloc): Likewise.
5640 * coffcode.h (coff_canonicalize_reloc): Likewise.
5641 * ecoff.c (ecoff_canonicalize_reloc): Likewise.
5642 * elfcode.h (elf_canonicalize_reloc): Likewise.
5643 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
5644 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
5645 * nlmcode.h (nlm_canonicalize_reloc): Likewise.
5646 * som.c (som_canonicalize_reloc): Likewise.
5647 * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc
5648 returns NULL, don't report an error if we asked for zero bytes.
5649 * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
5650 NULL, don't report an error if we asked for zero bytes.
5651 * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
5652
f3a14a9e
ILT
5653Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5654
c4dd531f
ILT
5655 * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
5656 if we don't have a bfd_object.
5657
4002f18a
ILT
5658 Made sure that every call to bfd_read, bfd_write, and bfd_seek
5659 checks the return value and handled bfd_error correctly. These
5660 changes are not itemised. Also:
5661 * aoutx.h (emit_strtab): Change return type to boolean, and return
5662 errors.
5663 (NAME(aout,write_syms)): Check emit_strtab return value.
5664 (NAME(aout,final_link)): Likewise.
5665 * coffcode.h (coff_write_relocs): Change return type to boolean,
5666 and return errors.
5667 (coff_write_object_contents): Check coff_write_relocs return
5668 value.
5669 * i386os9k.c (os9k_swap_exec_header_in): Change return type to
5670 boolean.
5671 (os9k_object_p): Check os9k_swap_exec_header_in return value.
5672 * oasys.c (oasys_read_record): Change return type to boolean.
5673 (oasys_slurp_symbol_table: Check oasys_read_record return value.
5674 (oasys_object_p, oasys_slurp_section_data): Likewise.
5675 (oasys_write_record): Change return type to boolean.
5676 (oasys_write_syms): Likewise. Also, check oasys_write_record
5677 return value.
5678 (oasys_write_sections): Check oasys_write_record return value.
5679 (oasys_write_header): Change return type to boolean. Check
5680 oasys_write_record return value.
5681 (oasys_write_end, oasys_write_data): Likewise.
5682 (oasys_write_object_contents): Check return values of
5683 oasys_write_header, oasys_write_syms, oasys_write_data, and
5684 oasys_write_end.
5685 * srec.c (srec_write_record): Change return type to boolean.
5686 (srec_write_header): Likewise. Also, check srec_write_record
5687 return value.
5688 (srec_write_section, srec_write_terminator): Likewise.
5689 (srec_write_symbols): Change return type to boolean.
5690 (internal_srec_write_object_contents): Check return value of
5691 srec_write_symbols, srec_write_header, srec_write_section, and
5692 srec_write_terminator.
5693
f3a14a9e
ILT
5694 * Makefile.in: Rebuilt dependencies.
5695
3e2993b6
PS
5696Mon Apr 4 10:56:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5697
5698 * aix386-core.c (aix386_bfd_is_local_label): Correct cast from
5699 asection to asymbol.
5700 * ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from
5701 bfd to asymbol.
5702 * trad-core.c (trad_unix_bfd_is_local_label): Correct cast from
5703 asection to asymbol.
5704
1f46bba3
JL
5705Sun Apr 3 18:27:29 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5706
5707 * som.c (som_slurp_string_table): Use malloc to allocate space
5708 for the cached copy of the native string table.
5709 (som_slurp_symbol_table): Likewise for the native symbol table.
5710 (som_slurp_reloc_table): Likewise for the native and generic
5711 relocation tables.
5712 (som_bfd_free_cached_info): Free the cached native strings,
5713 symbols, and relocations. Also free the canonical cached
5714 relocations.
5715
9deaaaf1
ILT
5716Fri Apr 1 12:40:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5717
d6d6b18a
ILT
5718 * aoutx.h (aout_link_write_symbols): If keep_memory is false, make
5719 sure the symbol name is stored in permanent memory before adding
5720 it to the string table.
5721
dfe09c49
ILT
5722 * archive.c (_bfd_write_archive_contents): Once we've found an
5723 object, don't bother to look for more when deciding whether to
5724 build a map.
5725 (compute_and_write_armap): After adding the symbols for a BFD,
5726 call bfd_free_cached_info on it.
5727
5728 Add bfd_free_cached_info support to a.out backends.
5729 * aoutx.h (aout_get_external_symbols): Renamed from
5730 aout_link_get_symbols. Read strings even if symbols have been
5731 read. Store string size in obj_aout_string_size.
5732 (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
5733 read the symbols. Allocate the cached symbols with malloc, not
5734 bfd_alloc.
5735 (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
5736 malloc, not bfd_alloc.
5737 (NAME(aout,bfd_free_cached_info)): New function; free cached
5738 symbols and relocs.
5739 * libaout.h (struct aoutdata): Add external_string_size field.
5740 (obj_aout_external_string_size): New accessor macro.
5741 (NAME(aout,close_and_cleanup)): Don't declare.
5742 (NAME(aout,bfd_free_cached_info)): Declare.
5743 (aout_32_close_and_cleanup): Don't define.
5744 (aout_64_close_and_cleanup): Don't define.
5745 * aout-target.h (MY_bfd_free_cached_info): If not already defined,
5746 define as NAME(aout,free_cached_info).
5747 (MY_close_and_cleanup): If not already defined, define as
5748 MY_bfd_free_cached_info.
5749 * aout-adobe.c (aout_32_close_and_cleanup): Define.
5750 (aout_32_bfd_free_cached_info): Don't define.
5751 * bout.c (aout_32_close_and_cleanup): Define.
5752 (aout_32_bfd_free_cached_info): Don't define.
5753 * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
5754 (MY_close_and_cleanup): Don't define.
5755 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
5756 relocs with malloc, not bfd_alloc.
5757 * i386os9k.c (aout_32_close_and_cleanup): Define.
5758 (aout_32_bfd_free_cached_info): Don't define.
5759
5760 Add a new entry point to free memory cached by a BFD.
9deaaaf1
ILT
5761 * targets.c (bfd_target): Add _bfd_free_cached_info field.
5762 * bfd.c (bfd_free_cached_info): Define.
5763 * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
5764 * bfd-in2.h: Rebuilt.
5765 * All backends: Initialize bfd_free_cached_info entry point to
5766 bfd_true.
5767
5768 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
5769 first, unused, argument.
5770 (hppa_elf_is_local_label): Declare instead of
5771 som_bfd_is_local_label.
5772
5773 * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
5774 absolute R_IREL reloc.
5775
bfe8224f
ILT
5776Thu Mar 31 11:52:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5777
f8ee1ebb
ILT
5778 Added some support for Irix 4 shared libraries.
5779 * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
5780 .lib section.
5781 (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
5782 STYP_ECOFF_LIB bit is set.
5783 (ecoff_compute_section_file_positions): Round the contents of a
5784 .lib section up to the next page boundary.
5785 (ecoff_set_section_contents): If we see a .lib section, increment
5786 the vma by one to count the number of shared libraries we have.
5787 (ecoff_write_object_contents): Don't crash if we see a
5788 STYP_ECOFF_LIB section, and don't adjust text_start or data_start
5789 or bss_size either.
5790
492d52cc
ILT
5791 * coffcode.h (CALC_ADDEND): Change to fetch original symbol value
5792 from original BFD, rather than using value of current BFD symbol.
5793 Needed for new linker.
5794 * coff-sparc.c (CALC_ADDEND): Likewise.
5795
1788b1bd
ILT
5796 * ecoff.c (ecoff_write_object_contents): Set the text_start and
5797 data_start entries in the optional header correctly even if a text
5798 or data section starts at location zero.
5799
e9c6595d
ILT
5800 * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
5801 and raeburn).
5802 * bfd-in2.h: Rebuilt.
5803
3af0f479
ILT
5804 * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
5805 name.
5806 * nlm32-alpha.c (nlm_alpha_read_import): Likewise.
5807 * nlm32-sparc.c (nlm_sparc_read_import): Likewise.
5808
bfe8224f
ILT
5809 * coffgen.c (coff_write_symbol): Reindented. Changed to return
5810 boolean, and changed written to unsigned int *. Check error
5811 returns from called functions.
5812 (coff_write_alien_symbol): Likewise.
5813 (coff_write_native_symbol): Likewise.
5814 (coff_write_symbols): Likewise. Reworked checks on whether to
5815 write symbol name to string table for clarity and to avoid core
5816 dumping when given a non COFF symbol.
5817 * libcoff-in.h (coff_write_symbols): Declare as returning boolean.
5818 * libcoff.h: Rebuilt.
5819 * coffcode.h (coff_write_object_contents): Check return value of
5820 coff_write_symbols.
5821
326e32d7
ILT
5822Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5823
5824 Changes to let BFD return an error indication from
5825 get_symtab_upper_bound, bfd_canonicalize_symtab,
5826 bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now
5827 return long instead of unsigned int, and use -1 to indicate an
5828 error. Along the way, rename get_symtab_upper_bound to
5829 bfd_get_symtab_upper_bound.
5830 * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
5831 errors.
5832 (bfd_canonicalize_reloc): Likewise.
5833 * syms.c (bfd_get_symtab_upper_bound): Renamed from
5834 get_symtab_upper_bound.
5835 * targets.c (bfd_target): Renamed _get_symtab_upper_bound to
5836 _bfd_get_symtab_upper_bound, and changed it and
5837 _bfd_canonicalize_symtab and _get_reloc_upper_bound and
5838 _bfd_canonicalize_reloc to all return long.
5839 * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
5840 (NAME(aout,canonicalize_reloc)): Likewise.
5841 (NAME(aout,get_reloc_upper_bound)): Likewise.
5842 (NAME(aout,get_symtab_upper_bound)): Likewise.
5843 * bout.c (b_out_canonicalize_reloc): Likewise.
5844 (b_out_get_reloc_upper_bound): Likewise.
5845 * coffcode.h (coff_canonicalize_reloc): Likewise.
5846 * coffgen.c (coff_get_symtab_upper_bound): Likewise.
5847 (coff_get_symtab): Likewise.
5848 (coff_get_reloc_upper_bound): Likewise.
5849 * ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
5850 (ecoff_get_symtab): Likewise.
5851 (ecoff_canonicalize_reloc): Likewise.
5852 * elfcode.h (elf_get_symtab_upper_bound): Likewise.
5853 (elf_get_reloc_upper_bound): Likewise.
5854 (elf_canonicalize_reloc): Likewise.
5855 (elf_get_symtab): Likewise.
5856 * hp300hpux.c (MY(get_symtab)): Likewise.
5857 (MY(get_symtab_upper_bound)): Likewise.
5858 (MY(canonicalize_reloc)): Likewise.
5859 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
5860 * ieee.c (ieee_slurp_external_symbols): Change return type to
5861 boolean. Check for errors from get_symbol.
5862 (ieee_slurp_symbol_table): Change return type to boolean. Check
5863 for errors from ieee_slurp_external_symbols.
5864 (ieee_get_symtab_upper_bound): Return long, and -1 on errors.
5865 (ieee_get_symtab): Likewise.
5866 (ieee_get_reloc_upper_bound): Likewise.
5867 (ieee_canonicalize_reloc): Likewise.
5868 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
5869 * nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
5870 (nlm_get_symtab): Likewise.
5871 (nlm_get_reloc_upper_bound): Likewise.
5872 (nlm_canonicalize_reloc): Likewise.
5873 * oasys.c (oasys_get_symtab_upper_bound): Likewise.
5874 (oasys_get_symtab): Likewise.
5875 (oasys_get_reloc_upper_bound): Likewise.
5876 (oasys_canonicalize_reloc): Likewise.
5877 * som.c (som_get_symtab_upper_bound): Likewise.
5878 (som_get_symtab): Likewise.
5879 (som_get_reloc_upper_bound): Likewise.
5880 (som_canonicalize_reloc): Likewise.
5881 * srec.c (srec_get_symtab_upper_bound): Likewise.
5882 (srec_get_symtab): Likewise.
5883 (srec_get_reloc_upper_bound): Define as bfd_0l.
5884 (srec_canonicalize_reloc): Likewise.
5885 * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
5886 (tekhex_get_symtab_upper_bound): Likewise.
5887 (tekhex_get_reloc_upper_bound): Define as bfd_0l.
5888 (tekhex_canonicalize_reloc): Likewise.
5889 * libaout.h (NAME(aout,get_symtab_upper_bound)): Change
5890 declaration to return long.
5891 (NAME(aout,get_symtab)): Likewise.
5892 (NAME(aout,canonicalize_reloc)): Likewise.
5893 (NAME(aout,get_reloc_upper_bound)): Likewise.
5894 * libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
5895 (coff_get_symtab): Likewise.
5896 (coff_get_reloc_upper_bound): Likewise.
5897 * libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
5898 (ecoff_get_symtab): Likewise.
5899 (ecoff_canonicalize_reloc): Likewise.
5900 * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
5901 (bfd_elf32_get_symtab): Likewise.
5902 (bfd_elf32_get_reloc_upper_bound): Likewise.
5903 (bfd_elf32_canonicalize_reloc): Likewise.
5904 (bfd_elf64_get_symtab_upper_bound): Likewise.
5905 (bfd_elf64_get_symtab): Likewise.
5906 (bfd_elf64_get_reloc_upper_bound): Likewise.
5907 (bfd_elf64_canonicalize_reloc): Likewise.
5908 * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
5909 (nlmNAME(get_symtab)): Likewise.
5910 (nlmNAME(get_reloc_upper_bound)): Likewise.
5911 (nlmNAME(canonicalize_reloc)): Likewise.
5912 * archive.c (compute_and_write_armap): Use error_return and
5913 no_memory_return labels rather than freeing information in various
5914 places. Change storage, symcount and src_count to long. Check
5915 errors from bfd_get_symtab_upper_bound and
5916 bfd_canonicalize_symtab.
5917 * bout.c (b_out_relax_section): Change reloc_size to long. Check
5918 for errors from bfd_get_reloc_upper_bound and
5919 bfd_canonicalize_reloc.
5920 (b_out_get_relocated_section_contents): Likewise.
5921 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
5922 Likewise.
5923 * elf32-mips.c: Likewise.
5924 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
5925 (hppa_look_for_stubs_in_section): Check for errors from
5926 bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
5927 bfd_canonicalize_reloc.
5928 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
5929 from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
5930 * linker.c (generic_link_read_symbols): Likewise.
5931 (_bfd_generic_final_link): Check for errors from
5932 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
5933 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
5934 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
5935 (bfd_coff_reloc16_get_relocated_section_contents): Likewise.
5936 * libbfd.c (bfd_0l): New function.
5937 * libbfd-in.h (bfd_0l): Declare.
5938 * aix386-core.c: Change get_symtab_upper_bound, get_symtab,
5939 get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
5940 than bfd_0u.
5941 * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
5942 * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
5943 * bfd-in2.h: Rebuilt.
5944 * libbfd.h: Rebuilt.
5945 * libcoff.h: Rebuilt.
5946
5947 * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
5948 temp and name.
5949
c2c818bc
JK
5950Wed Mar 30 08:33:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5951
5952 * hosts/dpx2.h: Define POSIX_UTIME.
5953
bdf1b511
PS
5954Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5955
5956 * i386dynix.c, config/i386-dynix.mt: New files, handling Dynix
5957 variant of a.out.
5958 * configure.in, config.bfd: Use them for Dynix.
5959 * Makefile.in: Add dependencies for i386dynix.o.
5960 * targets.c: Add definition for i386dynix_vec.
5961 * hosts/symmetry.h: Do not define TRAD_CORE_USER_OFFSET for Dynix.
5962 Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
5963 for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
5964 i386dynix.c
5965
a8a916c8
ILT
5966Mon Mar 28 12:53:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5967
9f37f56a
ILT
5968 * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
5969
09a28207
ILT
5970 * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
5971 bfd_arch_rs6000.
5972
ce8f1f60 5973 * config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
34632537
ILT
5974 * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
5975
a8a916c8
ILT
5976 * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
5977 for generated constructor section.
5978
06e6eb0e
JL
5979Sun Mar 27 16:25:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5980
5981 * som.c (som_begin_writing): New approach at dealing with holes
5982 in executables left by the HP linker. Does not rely on subspace
5983 alignments as subspaces are *NOT* guaranteed to be properly
5984 aligned in an executable (can you believe that!).
5985
25057836
JL
5986Sat Mar 26 10:25:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5987
f977e865
JL
5988 * som.c (som_get_section_contents): New function. Do not try
5989 to actually read data from a section that doesn't have either
5990 SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
5991
25057836
JL
5992 * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
5993 read. (bfd_error_system_call or bfd_error_file_truncated).
5994
5995 * som.c: Do not blindly set bfd_error_system_call after a
5996 failing bfd_read, bfd_write, or bfd_seek. In a few places
5997 (like som_object_p) override the error status set by bfd_read.
5998
5999 * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
6000 * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
6001 * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
6002 * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
6003
6004 * som.c: Check return values from several bfd_{seek,read,write}
6005 calls that we just assumed were not failing.
6006
471c3c3f
JK
6007Fri Mar 25 11:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6008
6009 * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
6010 * config/sysv4.mh: Add comment.
6011 * config/symmetry.mh: Change comment.
6012 * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
6013
ec099b4b
ILT
6014Fri Mar 25 17:10:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6015
a3a33af3 6016 Changes to support linker relaxing of embedded MIPS PIC code to
471c3c3f 6017 use a five instruction sequence for function calls which are out of
a3a33af3
ILT
6018 range of the bal instruction.
6019 * libecoff.h (struct ecoff_section_tdata): Define.
6020 (ecoff_section_data): Define.
6021 (ecoff_bfd_relax_section): Don't define.
6022 * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
6023 the debugging information if it has already been read.
6024 (ecoff_indirect_link_order): Handle _cooked_size being different
6025 from _raw_size. Don't reread the contents or the relocs if they
6026 have already been read in.
6027 * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
6028 18 to 16.
6029 (PCREL16_EXPANSION_ADJUSTMENT): Define.
6030 (mips_relocate_refhi): Take adjust argument.
6031 (mips_relocate_section): Handle reloc offsets stored in section
6032 used_by_bfd field. Call mips_relax_pcrel16 to handle details of
6033 expanding an out of range PCREL16. Keep trace of adjustments
6034 required by expansions. Set s and unset h when converting a reloc
6035 from undefined to section. Change handling of PC relative relocs:
6036 if against a section, they are correct in the object file, if
6037 against an external symbol they are pcrel_offset.
6038 (mips_relax_section): New function.
6039 (mips_relax_pcrel16): New function.
6040 (ecoff_bfd_relax_section): Define.
6041 * coff-alpha.c (ecoff_bfd_relax_section): Define.
6042 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
6043 built by mips_relax_section when writing out addresses.
6044 * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
6045
ec099b4b
ILT
6046 * aoutx.h (NAME(aout,find_nearest_line)): The caller expects
6047 functionname_ptr to be set to a symbol name, so prepend
6048 symbol_leading_char.
6049
47e70c54
SC
6050Thu Mar 24 11:33:46 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6051
6052 * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
6053 for 16bit relative branches.
6054 * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
6055 overflow.
6056
9d7f682f
JL
6057Thu Mar 24 09:21:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6058
6059 * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
6060 (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
6061
6062Wed Mar 23 14:29:31 1994 David J. Mackenzie (djm@rtl.cygnus.com)
6063
6064 * netbsd386.c (N_SET_FLAGS): Delete the old definition.
6065
456961d1
ILT
6066Wed Mar 23 14:58:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6067
6068 Clean up the relaxing code for the new linker.
6069 * targets.c (_bfd_relax_section): Take boolean *again argument
6070 rather than asymbol list.
6071 * bfd.c (bfd_relax_section): Change name of fourth argument from
6072 symbols to again.
6073 * reloc.c (bfd_generic_relax_section): Take boolean *again
6074 argument rather than asymbol list. Always return true.
6075 * bout.c: Include genlink.h.
6076 (aligncode, perform_slip): Declare.
6077 (perform_slip): Take BFD argument rather than asymbol list.
6078 Changed all callers. Get the symbols from the BFD. Change the
6079 hash table entry value as well as the symbol value.
6080 (abs32code): Take BFD argument rather than asymbol list. Changed
6081 all callers.
6082 (aligncode): Likewise.
6083 (b_out_relax_section): Take boolean *again argument rather than
6084 asymbol list. Only return false if an error occurred. Set *again
6085 to false. Get symbols from BFD.
6086 * reloc16.c: Include genlink.h.
6087 (bfd_perform_slip): Take BFD argument rather than asymbol list.
6088 Get the symbols from the BFD. Change the hash table entry value
6089 as well as the symbol value.
6090 (bfd_coff_reloc16_relax_section): Take boolean *again argument
6091 rather than asymbol list. Only return false if an error occurred.
6092 Set *again to false. Get symbols from BFD.
6093 * coffcode.h (bfd_coff_backend_data): Change
6094 _bfd_coff_reloc16_estimate to take BFD argument rather than
6095 asymbol list.
6096 (bfd_coff_reloc16_estimate): Corresponding change.
6097 (dummy_reloc16_estimate): Corresponding change.
6098 * libcoff-in.h (bfd_coff_reloc16_relax_section): Change
6099 declaration to take boolean * rather than asymbol list.
6100 (bfd_perform_slip): Change declaration to take BFD rather than
6101 asymbol list.
6102 * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
6103 than asymbol list. Changed calls to bfd_perform_slip.
6104 * bfd-in2.h: Rebuilt.
6105 * libbfd.h: Rebuilt.
6106 * libcoff.h: Rebuilt.
6107 * Makefile.in: Rebuilt dependencies.
6108
6109 * genlink.h (_bfd_generic_link_get_symbols): Define.
6110 (_bfd_generic_link_get_symcount): Define.
6111 * linker.c (generic_link_read_symbols): New function.
6112 (generic_link_add_object_symbols): Use it. Use
6113 _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
6114 to get the symbols from the BFD.
6115 (generic_link_check_archive_element): Likewise.
6116 (_bfd_generic_final_link): Likewise.
6117 (_bfd_generic_link_output_symbols): Likewise.
6118 (default_indirect_link_order): Likewise.
6119 (generic_link_add_symbol_list): Store pointer to hash table entry
6120 in asymbol udata field.
6121
4335ce64
ILT
6122Tue Mar 22 13:09:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6123
c031ba0b
ILT
6124 * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
6125 reloc, used in embedded PIC code.
6126 (mips_adjust_reloc_in): Change sanity check to permit new reloc.
6127 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
6128 MIPS_R_PCREL16.
6129
4335ce64
ILT
6130 * elf32-mips.c (mips_elf_final_link): Account for link_order
6131 relocs when allocating space for relocations. Set SEC_RELOC flag
6132 for any section which has relocs. Handle link_order relocs in
6133 link_order loop. Use _bfd_generic_link_add_symbols_collect for
6134 add_symbls entry point.
6135
6136 * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
6137 counting relocs. Set SEC_RELOC flag for any section which has
6138 relocs.
6139
6140 * linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
6141
6142 * linker.c (_bfd_generic_link_add_symbols): Just call
6143 generic_link_add_symbols.
6144 (_bfd_generic_link_add_symbols_collect): New function, like
6145 _bfd_generic_link_add_symbols but also collect constructors and
6146 destructors by name as collect2 does.
6147 (generic_link_add_symbols): New function, like old
6148 _bfd_generic_link_add_symbols but with collect argument.
6149 (generic_link_add_object_symbols): Take collect argument.
6150 (generic_link_check_archive_element_no_collect): New function.
6151 (generic_link_check_archive_element_collect): New function.
6152 (generic_link_check_archive_element): Take collect argument.
6153 (generic_link_add_symbol_list): Take collect argument.
6154 (_bfd_generic_link_add_one_symbol): Rename constructor argument to
6155 collect.
6156 * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
6157 * libbfd.h: Rebuilt.
6158
9d92fe0a
JL
6159Tue Mar 22 10:04:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6160
6161 * archive.c (bfd_construct_extended_name_table): Use ar_padchar
6162 for first character in an extended name.
6163 (_bfd_write_archive_contents): If ar_padchar == '/', then use
6164 "//" as the name of the special archive member holding the
6165 extended name table.
6166
f1cca647
ILT
6167Mon Mar 21 12:28:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6168
6169 Support for link_order types which generate relocs in order to
6170 support -Ur in the linker.
6171 * linker.c (generic_link_add_symbol_list): Remove bitsize argument
6172 from call to _bfd_generic_link_add_one_symbol.
6173 (_bfd_generic_link_add_one_symbol): Remove bitsize argument.
6174 Don't pass bitsize to constructor call back. Pass BFD_RELOC_CTOR
6175 instead of bitsize to add_to_set call back.
6176 (_bfd_generic_final_link): Account for link_order relocs when
6177 allocating space for relocations. Handle them in link_order loop.
6178 (_bfd_generic_reloc_link_order): New function.
6179 (_bfd_default_link_order): If a reloc_link_order is seen here,
6180 abort.
6181 (_bfd_count_link_order_relocs): New function.
6182 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
6183 argument from declaration.
6184 (_bfd_generic_reloc_link_order): Declare.
6185 (_bfd_count_link_order_relocs): Declare.
6186 * libbfd.h: Rebuilt.
6187 * aoutx.h (aout_link_add_symbols): Remove bitsize argument from
6188 call to _bfd_generic_link_add_one_symbol.
6189 (NAME(aout,final_link)): Account for link_order relocs when
6190 allocating space for relocations. Handle them after handling all
6191 input BFDs.
6192 (aout_link_reloc_link_order): New function.
6193 * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
6194 call to _bfd_generic_link_add_one_symbol.
6195 (ecoff_bfd_final_link): Account for link_order relocs when
6196 allocating space for relocations. Handle them in link_order loop.
6197 (ecoff_link_write_external): Set the storage class of a defined
6198 linker created symbol based on the section it is in. Correct
6199 bfd_link_hash_weak case to use .sc rather than .st.
6200 (ecoff_reloc_link_order): New function.
6201 * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
6202 BFD_RELOC_CTOR.
6203 * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
6204
6205 * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
6206 and buf.
6207
6208 * cisco-core.c (cisco_core_file_p): Only pass one argument to
6209 bfd_zmalloc. Free a pointer, not a union.
6210 (cisco_bfd_is_local_label): Correct cast from asection to asymbol.
6211
142f59f4
JL
6212Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6213
17e64ad3
JL
6214 * bfd/som.c (som_begin_writing): Fix thinko (off by one error).
6215
c2e1207b
JL
6216 * som.c (bfd_section_from_som_symbol): Only to do the value
6217 comparison for function symbols within executables.
6218
c05d2d43
JL
6219 * som.c (bfd_section_from_som_symbol): Renamed from
6220 som_section_from_subspace_index. Pass in a native SOM symbol.
6221 For executables, iterate through the sections to find out
6222 which contains the symbol's address rather than using the
6223 symbol_info field. (symbol_info has a different meaning for
6224 dynamicly linked executables.)
6225
61bcbf40
JL
6226 * trad-core.c (trad_unix_core_file_p): Don't pass abfd to
6227 bfd_zmalloc.
6228
517a6af6
JL
6229 * som.c (som_begin_writing): Fix braino (one call to align
6230 space/subspace data was done unconditionally rather than
6231 just for executables.)
6232
142f59f4
JL
6233 * som.c (som_begin_writing): Align text in all executables to
6234 make HPUX kernel happy. Fixes strip/objcopy for shared
6235 executables.
6236
00806436
JL
6237Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6238
6239 * som.c (som_begin_writing): Account for alignment needs of
6240 subspaces too when writing executables. Never request a negative
6241 bss size. Fixes some problems with demand paged executables,
6242 still having problems with pure executables and shared executables.
6243
f3f29240
JK
6244Fri Mar 18 19:12:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6245
6246 * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
6247 bfd_zalloc for rawptr, because later on we may call free, not
6248 bfd_release, on it.
6249
6250 * bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
6251 * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
6252 * cisco-core.c: New file.
47dc9b52
JK
6253 * Makefile.in: Change accordingly.
6254 * configure.in: Recognize cisco_core_vec.
6255 * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
6256 * targets.c: Add cisco_core_vec.
f3f29240
JK
6257 * bfd-in2.h: Rebuilt.
6258
3b499495
JL
6259Fri Mar 18 18:13:49 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6260
15766917
JL
6261 * som.h (som_copyable_section_data_struct): New structure
6262 containing all the private section information which needs
6263 to be copied from input section to output section during
6264 objcopy or strip.
6265 (som_section_data_struct): Remove several fields now in
6266 som_copyable_section_data_struct. Make the space and
6267 subspace dictionaries be pointers (to save space when
6268 only reading objects).
6269
6270 * som.c (bfd_som_set_section_attributes): Now returns a boolean;
6271 some references changed. Allocate a copyable data stucture if
6272 none exists. Store info into the copyable data structure.
6273 (bfd_som_set_subsection_attributes): Likewise.
6274 (som_is_space, som_is_subspace, som_is_container): New functions.
6275 Use these instead of directly accessing private data.
6276 (som_prep_headers): Allocate space and subspace headers here.
6277 Fill in some fields in the space/subspace headers from the
6278 copyable data.
6279 (som_bfd_copy_private_section_data): Only copy the stuff
6280 that we really need to make objcopy and strip work. Allocate
6281 the copy_data structure for the output bfd before copying.
6282
4359a7ef
JL
6283 * som.h (struct som_exec_data): New structure to hold exec
6284 info that must be preserved when running objcopy/strip.
6285 (struct somdata): Add new "exec_data" field and accessor
6286 macro. Add some comments on how the various fields are used.
6287 (som_section_data_struct): Make is_space and is_subspace bitfields.
6288 Delete unused subspace_index. All references now use the
6289 target_index field within the section structure itself.
6290
6291 * som.c (make_unique_section): Delete unused declaration.
6292 (som_bfd_copy_private_bfd_data): New function.
6293 (som_object_setup): Allocate space for and save exec information
6294 that needs to be copied during objcopy/strip.
6295 (som_mkobject): Do not allocate space for a file header here.
6296 It is not used when only reading SOM objects.
6297 (som_prep_headers): Allocate space for and attach a file header
6298 to the output bfd. For executables, use the saved system_id
6299 value rather than trying to guess the right value. Do not abort
6300 wwhen setting file_hdr->entry* for executables.
6301 (som_begin_writing): For executables, set the exec_entry and
6302 exec_flags fields.
6303 (som_copy_private_backend_section_data): Always return a value.
6304
08b3c4f9
JL
6305 * libhppa.h (PA_PAGESIZE): Define.
6306
6307 * som.c (SOM_ALIGN): Define.
6308 (som_begin_writing): If writing an executable, initialize all
6309 fields in the exec header to zero. Update fields in the exec
6310 header as sizes of loadable subspaces are computed. Carefully
6311 preserve alignments when building executables. Actually write the
6312 exec after all the fields are filled in.
6313
3b499495
JL
6314 * Better long-filename handling. Reads SOM ABI compliant extended
6315 names, but doesn't quite write compliant extended names yet.
6316 * som.c (som_slurp_extended_name_table): Delete function. The
6317 generic code will handle things correctly.
6318 (som_slurp_armap): Seek to the beginning of the next member.
6319 (normalize): New function.
6320 (som_bfd_ar_write_symbol_stuff): Take the size of the extended
6321 name table into account when computing the file offsets in the
6322 SOM dictionary. Make sure to align to an even boundary.
6323 (som_write_armap): Initialize the checksum to zero.
6324 (ar_maxchars): Fix. Opps.
6325
ff978570
KR
6326Fri Mar 18 20:35:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6327
6328 * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
6329 machine. Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
6330
6f4aac6c
KR
6331Thu Mar 17 18:26:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6332
5a66538b
KR
6333 * bfd-in.h (BFD_VERSION): Use @VERSION@.
6334 * Makefile.in (bfd.h): Replace it with contents of VERSION file.
6335 * bfd-in2.h: Regenerated.
6336
6f4aac6c
KR
6337 * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
6338 this was also named trad_unix_bfd_copy_private_bfd_data.
6339
8eb5d4be
JK
6340Thu Mar 17 10:37:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6341
6342 * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
6343 elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
6344 returns NULL, it is not an error. It's possible that some of
6345 these checks are not necessary (because the size can never be
6346 zero), but putting in the checks is the conservative thing to do
6347 in light of the fact that some of these malloc calls replaced
6348 unchecked alloca calls, in which a zero argument would work fine.
6349
1c6042ee
ILT
6350Thu Mar 17 11:44:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6351
7838792b
ILT
6352 * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
6353 duplicate definition.
6354 (osf_core_bfd_is_local_label): Define.
6355
4bbf7a49
ILT
6356 * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
6357 if malloc (0) fails. bfd_canonicalize_reloc returning 0 is not a
6358 failure indication, it merely means there are no relocs.
6359
1c6042ee
ILT
6360 * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
6361 after NAME, since SunOS /bin/cc can't handle it.
6362
ae6710bc
DM
6363Wed Mar 16 16:43:33 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6364
6365 * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
6366 From sukes@glue.umd.edu (Tasuki Hirata).
6367
6368Wed Mar 16 07:55:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6369
6370 * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
6371 all that convoluted stuff with NAME, CAT3, etc. The convoluted
6372 stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
6373
35ac8aac
JL
6374Wed Mar 16 00:02:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6375
6376 * som.c (som_prep_for_fixups): Detect section symbols based
6377 on either the lack of private data or the symbol flags. Do not
6378 munge section symbol names anymore -- they no longer confuse GDB.
6379 (som_begin_writing): Leave space for an exec header if writing
6380 an executable.
6381 (som_slurp_symbol_table): Recognize both forms of section symbol
6382 names "L$0\002" and "$<FOO>$". Change the name of "L$0\002"
6383 section symbols to be the name of the section they represent.
6384 Debugging symbols begin with "L$0\001", not just "L$".
6385
5b3577cb
JL
6386Tue Mar 15 22:58:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6387
6388 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
6389
6390 * bfd-in.h (JUMP_TABLE): Add new entries to the jump table
6391 for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
6392 and bfd_is_local_label.
6393
6394 * targets.c: Add new entries to the bfd_target structure.
6395
6396 * bfd.c (bfd_copy_private_bfd_data): New definition.
6397
6398 * section.c (bfd_copy_private_section_data): New definition.
6399
6400 * syms.c (bfd_is_local_label): New definition.
6401
6402 * libbfd-in.h (bfd_generic_is_local_label): Declare.
6403
6404 * libbfd.c (bfd_generic_is_local_label): New function.
6405
6406 * *-core.c: Provide default definitions for new functions in
6407 the target vector which all point to bfd_false.
6408
6409 * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
6410 libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
6411 Default new vectors for copying private backend data to bfd_true.
6412 Default new vector for determining if a symbol is a local label
6413 to bfd_generic_is_local_label.
6414
6415 * som.c (som_bfd_copy_private_section_data): New function.
6416 (som_bfd_is_local_label): New function.
6417 (som_bfd_copy_private_bfd_data): For now default to bfd_true.
6418
6419 * elf32-hppa.c (hppa_elf_is_local_label): New function.
6420
0069bd06
ILT
6421Tue Mar 15 23:55:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6422
6423 * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
6424
57a1867e
DM
6425Tue Mar 15 04:41:13 1994 David J. Mackenzie (djm@rtl.cygnus.com)
6426
6427 * Most files:
6428 Replace DEFUN and DEFUN_VOID with K&R-style function definition.
6429 Indent some of them to GNU standards.
6430
6431 * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
6432 cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
6433 elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
6434 libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
6435 Update copyright years.
6436
ec743cef
JL
6437Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6438
baef2065
JL
6439 * som.c (som_prep_for_fixups): A relocation involving the section
6440 symbol for the *ABS* section is really a relocation involving
6441 no symbol.
6442 (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
6443 undefined symbols. Correctly distinguish between debugger symbols
6444 and section symbols.
6445
b486fb13
JL
6446 * som (setup_sections): Set SEC_DEBUGGING and the section attributes
6447 for spaces and subspaces.
6448
4c9db344
JL
6449 * som.c (som_bfd_count_ar_symbols): Fix typo.
6450
ec743cef
JL
6451 * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
6452 HAS_RELOC based on the object's magic number.
6453 (make_unique_section): Delete function. BFD and its users are
6454 prepared to handle multiple sections with the same name.
6455 (setup_sections): Allocate space on the BFD's obstack to hold
6456 section names. Use bfd_make_setion_anyway rather than the
6457 obsolete make_unique_section.
6458 (som_prep_headers): Choose the correct SOM magic number based
6459 on the BFD's flags.
6460 (som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
6461
45ccfd58
ILT
6462Sat Mar 12 09:46:09 1994 Ian Lance Taylor (ian@cygnus.com)
6463
6464 * elf32-ppc.c: Renamed from elf32-powerpc.c.
45ccfd58 6465 * nlm32-ppc.c: Renamed from nlm32-powerpc.c.
45ccfd58
ILT
6466 * Makefile.in, configure.in: Corresponding changes.
6467
92177c52
ILT
6468Fri Mar 11 22:27:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6469
6470 * elf32-powerpc.c: Extensive changes to update to preliminary ABI.
6471
3e0b5554
PS
6472Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6473
6474 * sunos.c (sunos_read_dynamic_info): Assume that dynamic info
6475 is always located at the start of the data section to allow
6476 recovery of the dynamic info from a stripped executable.
6477 * ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA
6478 and STYP_COMMENT.
6479
80425e6c
JK
6480Wed Mar 9 17:17:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6481
6482 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
6483 cruft (like the #pragma alloca for AIX).
6484 In addition to that problem, the C alloca calls xmalloc, which
6485 means checking for being out of memory can't work right. The
6486 following changes remove all uses of alloca from BFD.
6487 * hosts/solaris2.h: Remove alloca cruft.
6488 * som.c: Replace alloca with a fixed size auto array.
6489 * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
d7fb4531
JK
6490 ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
6491 sunos.c: Replace alloca with malloc and appropriate error checking and
80425e6c
JK
6492 freeing.
6493 * linker.c: Replace alloca with obstack_alloc.
6494 * libbfd.h: Rebuilt.
6495
1404c365
ILT
6496Tue Mar 8 12:10:38 1994 Ian Lance Taylor (ian@cygnus.com)
6497
6498 * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
6499 MIPS_R_GPREL.
6500
25677b5b
PS
6501Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6502
6503 * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word,
6504 Elf*_Off typedefs by their expansion, the typedefs have been
6505 removed from include/elf/internal.h.
802f4fe2
PS
6506 * elfcode.h (bfd_section_from_shdr): Handle SHT_DYNAMIC section like
6507 SHT_PROGBITS section.
25677b5b 6508
7b5f6e48
JL
6509Thu Mar 3 20:03:39 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6510
6511 * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
6512
baf200d4
JK
6513Wed Mar 2 13:28:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
6514
6515 * configure.host: Recognize i[34]86-sequent-*.
6516
6517 * trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
6518 return from bfd_seek indicates an error.
6519 New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
6520 TRAD_CORE_STACK_OFFSET.
6521 * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
6522 TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
6523
44fd6622
JL
6524Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6525
4e64845c
JL
6526 * som.[ch]: Do not include libhppa.h in som.c, instead include
6527 it in som.h.
6528
6529 * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
6530 include it in elf32-hppa.h.
6531
98ecc945
JL
6532 * som.c (log2): Return -1 on error rather than aborting.
6533 (setup_sections): Bubble up an error from log2.
6534
44fd6622
JL
6535 * Changes to make HP C compiler happy in both traditional
6536 and ANSI mode.
6537 * som.c (hppa_som_gen_reloc_type): Use correct enum type for
6538 field parameter.
6539 (bfd_som_set_section_attributes): Use unsigned int rather than
6540 unsigned char to avoid GNU-C extensions.
6541 (bfd_som_attach_aux_hdr): Return a boolean to indicate success
6542 or failure rather than aborting on failure.
6543
6544 * som.h (bfd_som_set_section_attributes): Fix prototype to match
6545 som.c changes.
6546 (bfd_som_attach_aux_hdr): Add prototype.
6547 (hppa_som-gen_reloc_type): Likewise.
6548
6549 * elf32-hppa.c: Add a couple casts to make HP compiler happy.
6550 (hppa_look_for_stubs_in_section): Do not return false on failure
6551 until rest of code is ready to handle it. Abort for now.
6552
d1f8b181
JK
6553Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
6554
6555 * bfd-in2.h: Rebuilt.
6556
85cc33c7
KH
6557Tue Mar 1 13:06:53 1994 Kung Hsu (kung@mexican.cygnus.com)
6558
bb37e716
KH
6559 * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
6560 * Makefile.in: delete an extra blank.
85cc33c7
KH
6561 * configure.in : Add i396os9k_vec.
6562
2f88343d
KH
6563Mon Feb 28 15:41:01 1994 Kung Hsu (kung@mexican.cygnus.com)
6564
5143c305
KH
6565 * config.bfd : Add i386-os9k.
6566 * config/i386-os9k.mt : Newly add os9k target makefile.
6567
2f88343d
KH
6568 * i386os9k.c : new file to handle os9k format bfd.
6569 * Makefile.in : Handle new file i386os9k.c
2f88343d
KH
6570 * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
6571 * cache.c : Initialize cache_sentinel to 0.
6572
6e58a4e5
JL
6573Sun Feb 27 16:30:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6574
f3b477be
JL
6575 * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
6576 action in case where caller specified no argument relocation.
6577 (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
6578 right in the original relocation and the stub's relocation.
6579
6e58a4e5
JL
6580 * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete
6581 unused symbols argument.
6582
6583 * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
6584 than asymbol * for original target symbol. All callers changed.
6585 Set reloc->sym_ptr_ptr appropriately.
6586 (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
6587 (hppa_elf_look_for_stubs_in_section): No longer need symbols
6588 argument. Use the output symbols when canonicalizing the relocs,
6589 creating them if necessary.
6590
6591 * linker.c (_bfd_generic_link_output_symbols): Do not
6592 rebuild/clobber the output symbols if they already exist.
6593
4c8d6c9f
SS
6594Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
6595
fdfe2d14
SS
6596 * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
6597 check all the pointer dereferences. Enabled via DEBUG_BFD_SEND.
6598 * bfd-in2.h: Rebuilt.
6599
4c8d6c9f
SS
6600 * srec.c (hex_value): Always set to a size of 256 bytes.
6601 (srec_init): Cosmetic changes.
6602
e08b9ad7
JL
6603Sun Feb 27 11:18:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6604
6605 * elf32-hppa.c: Second half of major cleanup. More comments,
6606 PARAMize and staticize rest of functions. Delete unused
6607 functions. Delete unused/unnecessary arguments to some functions.
6608 Group static vars together. Abort for bad errors until we have
6609 error code propogation working. Work on spacing and indention.
6610 Add FIXMEs for unresolved problems. Use enums rather than
6611 #defines for lots of things. Merge two functions which build
6612 linker stubs into a single function (so they can easily share a
6613 ton of common code).
6614
68241b2b
ILT
6615Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com)
6616
6617 * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
6618 avoid depending upon right shifts of signed numbers, and to
6619 correct handling of src_mask with lower bits zero.
6620
6621 * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
6622 * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
6623 * elf32-i386.c: Likewise.
6624 * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
6625 #if 0 code.
6626 (elf_write_phdrs): Make i unsigned.
6627 (map_program_segments): Make i and n_left unsigned.
6628 (assign_file_positions_except_relocs): Make i unsigned.
6629 (write_shdrs_and_ehdr): Make count unsigned.
6630 (assign_file_positions_for_relocs): Make i unsigned.
6631 (NAME(bfd,elf_write_object_contents)): Make count unsigned.
6632 (section_from_elf_index): Make index argument unsigned.
6633
96db3187
ILT
6634Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com)
6635
6636 * elfcode.h: Don't include assert.h.
6637 (swap_out_syms): Use BFD_ASSERT rather than assert.
6638
6639 * linker.c (_bfd_generic_link_write_global_symbol): Add missing
6640 break in switch.
6641
6642 * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
6643 declarations.
6644
d6439785
JL
6645Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6646
f5bfdacd
JL
6647 * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
6648
6649 * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
6650 (elf_hppa_tc_make_sections): Likewise.
6651 (elf_hppa_final_processing): Add extern decl.
6652
6653 * elf32-hppa.c: First half of major cleanup. Add/cleanup lots of
6654 comments. PARAMize some static functions. Delete unused functions.
6655 Delete unused/unnecessary arguments to many functions. Group
6656 static vars together. Collapse common case statements together
6657 in many places. Use default case when possible instead of listing
6658 each case separately. Abort for bad errors until we get error
6659 code propogation working. Work on spacing and indention problems.
6660 Add FIXMEs for some unresolved problems. Delete hopelessly broken
6661 COMPLEX relocation support (it's never used anyway).
6662 (hppa_elf_rebuild_insn): Delete. Moved into libhppa.h.
6663 (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
6664 (elf_hppa_tc_make_sections): Likewise.
6665
43ebdfcf
JL
6666 * format.c (bfd_check_format_matches): Initialize matching_vector
6667 to keep gcc -Wall quiet.
6668
6669 * elfcode.h (elf_slurp_reloca_table): Fix typo.
6670
d6439785
JL
6671 * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
6672 not "sizeof (som_symbol_type *)".
6673
6674 * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
6675 not "sizeof (asymbol"). Opps.
6676
fbb8fe5c
ILT
6677Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com)
6678
6679 * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
6680 (bfd_set_gp_size): Can't set gp value on an archive.
6681
5e808126
SC
6682Fri Feb 25 12:57:00 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6683
6684 * srec.c (pass_over): Don't skip too many characters when
6685 end of line seen.
6686
626f883f
ILT
6687Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com)
6688
6689 * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
6690 boundary.
6691
6692Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6693
6694 * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
6695 field for absolute symbols in the same manner as undefined
6696 and common symbols.
6697
a69b39f0
PS
6698Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6699
6700 * elfcode.h (elf_core_file_p): Check for core file e_machine match
6701 like in elf_object_p.
6702
2e7b92cf
JL
6703Wed Feb 23 18:28:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6704
6705 * elfcode.h (alloca): Delete declaration.
4f42757e
JL
6706
6707 * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
6708 number rather than HP9000S800_ID. Note som.c is careful
6709 to make sure CPU_PA_RISC1_0 is always defined.
6710
891dc727
SS
6711Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com)
6712
6713 * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
6714 flags to explicit compile actions.
6715
22a71fef
ILT
6716Mon Feb 21 09:50:06 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
6717
2f0deb19
ILT
6718 * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
6719 * ecoff.c (ecoff_write_object_contents): Make sure .bss section
6720 ends on a page boundary if there is no symbol table.
6721 (ecoff_bfd_final_link): Don't set symhdr->magic here.
6722
aaca79a8
ILT
6723 * hosts/hp300.h: Include <stdlib.h>; don't declare free.
6724
2ab0b7f3
ILT
6725 * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
6726 rather than an array of variable size.
6727 (som_bfd_fill_in_ar_symbols): Likewise.
6728 (som_bfd_ar_write_symbol_stuff): Likewise.
6729
22a71fef
ILT
6730 * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
6731 operation to avoid OSF 1.3 cc bug.
6732 * ecoff.c (ecoff_write_object_contents): Make text_size, data_size
6733 and bss_size bfd_size_type instead of unsigned long. Make
6734 text_start and data_start bfd_vma instead of unsigned long.
6735 * ecofflink.c (ecoff_add_string): Remove incorrect cast of return
6736 value.
6737
037ce95a
ILT
6738Sun Feb 20 16:06:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
6739
6740 * linker.c (_bfd_generic_link_add_archive_symbols): Consider
6741 symbols in the order they appear in the archive map.
6742
3a1de3cc
PS
6743Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6744
6745 * coff-alpha.c (reloc_nil): Add forward declaration, add missing
6746 error_message argument.
6747 * coff-sparc.c (bfd_coff_generic_reloc): Add forward declaration,
6748 add missing error_message argument.
6749 * mipsbsd.c (mips_fix_hi16_s): Add forward declaration, add missing
6750 error_message argument.
6751
99ec1f66
ILT
6752Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6753
99ec1f66 6754 Support for PowerPC NetWare.
92177c52 6755 * nlm32-powerpc.c: New file.
99ec1f66
ILT
6756 * config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
6757 * config/ppc-nlm.mt: New file.
6758 * configure.in (nlm32_powerpc_vec): New target vector; use
6759 nlm32-powerpc.o, nlm32.o, nlm.o.
6760 * targets.c (nlm32_powerpc_vec): Declare.
6761 * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
7ce8b9d1 6762 (CFILES): Add nlm32-powerpc.c.
99ec1f66
ILT
6763
6764 Initial support for PowerPC ELF. Done without an ABI, and
6765 probably to be changed when I get an ABI.
6766 * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
6767 * config/ppc-elf.mt: New file.
6768 * configure.in (bfd_elf32_powerpc_vec): New target vector; use
6769 elf32-powerpc.o, elf32.o, elf.o.
6770 * elf32-powerpc.c: New file.
6771 * elfcode.h (prep_headers): Add bfd_arch_powerpc case.
6772 (elf_set_arch_mach): Likewise.
6773 * targets.c (bfd_elf32_powerpc_vec): Declare.
6774 * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
6775 (CFILES): Add elf32-powerpc.c.
6776 Rebuilt dependencies.
6777
42f62ead
ILT
6778Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6779
6780 * coffgen.c (coff_write_linenumbers): Always return a value.
6781
6782 * elfcode.h (elf_slurp_symbol_table): Handle zero symbols
6783 reasonably. Allocate x_symp using alloca.
6784
6785 * elfcode.h (map_program_segments): ELF program header entries
6786 must be sorted by load address. This used to generate the entries
6787 in reverse order.
6788
6789 * section.c (SEC_IN_MEMORY): Define.
6790 (asection): Rename unused field otheruserdata to contents, and
6791 make it char *.
6792 (bfd_make_section_anyway): Initialize contents field to NULL.
6793 (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
6794 contents from contents field rather than from file.
6795 * bfd-in2.h: Rebuilt.
6796
d1ad85a6
DM
6797Thu Feb 17 08:30:53 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6798
6799 * bfd.c (bfd_get_error, bfd_set_error): New functions.
6800 (bfd_error): Make static.
6801 (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to
6802 all values.
6803 * bfd-in2.h: Regenerated.
6804 * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h,
6805 aoutf1.h, aoutx.h, archive.c, archures.c,
6806 bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c,
6807 coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c,
6808 ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c,
6809 elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c,
6810 i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c,
6811 lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c,
6812 nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
6813 ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c,
6814 srec.c, sunos.c, syms.c, targets.c, tekhex.c,
6815 trad-core.c: Change callers.
6816
7430a991
JL
6817Tue Feb 15 22:27:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6818
6819 * som.c: Remove FIXMEs for things which have been dealt with.
6820
54196ea1
KR
6821Tue Feb 15 19:39:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6822
6823 * section.c (bfd_get_section_contents): Since this function reads
6824 unrelocated contents, the section's raw size is always the one to
6825 use for bounds checking.
6826
6827 * linker.c (default_indirect_link_order): In assertion, compare
6828 link_order size field against cooked size, not raw size, of input
6829 section.
6830
6831 * bout.c (b_out_get_reloc_upper_bound): For BSS section, just
6832 return 0.
6833 (aligncode): When shrinking, the addend should be set to the
6834 current offset in the section plus the number of bytes of padding
6835 that will actually be retained.
6836 (b_out_relax_section): If a section contains no relocations, don't
6837 bother processing them.
6838 (b_out_get_relocated_section_contents): Set reloc_done. Assert
6839 that bfd_get_section_contents returns true. Check that relocs are
6840 properly ordered.
6841 (b_out_get_relocated_section_contents, case ALIGNDONE): Assert
6842 that reloc->addend falls between the current source offset and the
6843 raw size of the input section.
6844
6845 * config.bfd: Support i960 vxworks versions > 5.0 with coff, not
6846 bout. Default with no version number is still bout. Support
6847 explicit i960-coff target too.
6848
6849 * bout.c: Changed some indentation, deleted trailing whitespace,
6850 fixed some comments, removed some "#if 1" lines.
6851 (output_addr): New macro.
6852 (calljx_callback, callj_callback, get_value, abs32code, aligncode,
6853 b_out_get_relocated_section_contents): Use it for readability.
6854
c6cdb69a
JL
6855Tue Feb 15 09:00:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6856
6857 * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
6858 symbols, not the BFD symbols.
6859 (som_bfd_ar_write_symbol_stuff): Likewise.
6860
6e033f86
JL
6861Mon Feb 14 22:55:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6862
24a1f6a0
JL
6863 * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
6864 have any symbols.
6865
6e033f86
JL
6866 * Finish basic read-write support for SOM archive libraries. Bugs
6867 surely remain as this hasn't been tested all that much.
6868 * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
6869 (struct som_misc_symbol_info): New structure to hold info necessary
6870 to build both normal and library symbol tables.
6871 (som_derive_misc_symbol_info): New function to derive info necessary
6872 to build both normal and library symbol tables.
6873 (som_build_and_write_symbol_table): Use new function to derive misc
6874 symbol information.
6875 (som_slurp_symbol_table): Update backend private data for symbols
6876 appropriately.
6877 (som_bfd_prep_for_ar_write): New function.
6878 (som_bfd_ar_symbol_hash): New function.
6879 (som_bfd_ar_write_symbol_stuff): New function.
6880 (som_write_armap): Flesh out.
6881 (som_vec): Fix ar padding character.
6882
6883 * som.c: Consistently use memset rather than bzero.
6884
8b8ddedb
SG
6885Mon Feb 14 17:02:28 1994 Stu Grossman (grossman at cygnus.com)
6886
6887 * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where
6888 appropriate.
6889 * rs6000-core.c: Use HOST_AIX instead of COREFILES_PLEASE.
6890 * config/rs6000.mh: Remove defs of ARCHIVES_PLEASE and
6891 COREFILES_PLEASE.
6892 * config/rs6000lynx.mh: Turn on Lynx core file support.
6893 * hosts/rs6000.h: #define HOST_AIX.
5cf354ef 6894 * hosts/rs6000lynx.h: Create this to enable Lynx host support.
8b8ddedb 6895
6863eb4b
JL
6896Sun Feb 13 14:30:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6897
50c5c4ad
JL
6898 * som.h (som_symbol_data): Safely access backend private data
6899 for BFD symbols. All callers changed.
6900
6e033f86 6901 * Read-only SOM archive support.
3c37f9ca
JL
6902 * som.c (som_bfd_count_ar_symbols): New helper function.
6903 (som_bfd_fill_in_ar_symbols): New helper function.
6904 (som_slurp_armap): New function to read a SOM LST.
6905
6863eb4b
JL
6906 * som.h: Include <lst.h> and <ar.h>.
6907
5e829a34
JL
6908Sat Feb 12 22:34:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6909
6910 * elfcode.h (elf_map_symbols): Fix typo.
6911 (write_object_contents): Check return values from prep_headers and
6912 elf_compute_section_file_positions.
6913 (set_section_contents): Likewise.
6914
a15691a5
DM
6915Fri Feb 11 16:56:50 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6916
6917 * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
6918 (bfd_construct_extended_name_table): Check result of normalize.
6919
9783e04a
DM
6920Tue Feb 8 08:57:31 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6921
6922 Make all callers of malloc or realloc (including via obstacks)
6923 check the result for NULL. Most set bfd_error to no_memory and
6924 return in that case; a few are harder to fix, and are marked
6925 with "FIXME <return type>".
6926
6927 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub
6928 hppa_elf_build_long_branch_stub): Check bfd_make_empty_symbol return.
6929 * linker.c (_bfd_generic_link_output_symbols
6930 _bfd_generic_link_write_global_symbol): Ditto
6931 * section.c (bfd_make_section_anyway): Ditto.
6932
6933 * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
6934 (first_phase): Ditto. FIXME void
6935 (tekhex_make_empty_symbol): Check bfd_zalloc.
6936
6937 * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
6938 (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
6939
6940 * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
6941
6942 * srec.c: Indent.
6943 (fillup_symbols): Check bfd_alloc. FIXME void
6944 (srec_mkobject srec_get_section_contents
6945 srec_set_section_contents): Check bfd_alloc.
6946 (srec_make_empty_symbol): Check bfd_zalloc.
6947
6948 * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
6949 (make_unique_section): Check bfd_alloc.
6950 (som_new_section_hook): Check bfd_zalloc.
6951 (bfd_som_attach_aux_hdr): Ditto. FIXME void
6952
6953 * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
6954
6955 * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
6956 (osf_core_core_file_p): Check bfd_alloc.
6957
6958 * oasys.c (oasys_slurp_symbol_table oasys_archive_p
6959 oasys_mkobject oasys_object_p oasys_new_section_hook
6960 oasys_set_section_contents): Check bfd_alloc.
6961 (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
6962 (oasys_make_empty_symbol): Check bfd_zalloc.
6963
6964 * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
6965 (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
6966
6967 * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
6968
6969 * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
6970
6971 * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
6972
6973 * linker.c (_bfd_link_hash_newfunc
6974 (generic_link_hash_newfunc
6975 (archive_hash_newfunc
6976 (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
6977 (_bfd_generic_final_link
6978 (_bfd_generic_link_output_symbols
6979 (default_indirect_link_order): Check bfd_alloc.
6980 (bfd_new_link_order): Check bfd_alloc_by_size_t.
6981
6982 * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
6983
6984 * ieee.c: Indent.
6985 (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
6986 ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
6987 (do_one): Check bfd_alloc. Return a boolean.
6988 (ieee_slurp_section_data): Check it.
6989 (init_for_output): Check bfd_alloc. Return a boolean.
6990 (ieee_set_section_contents): Check it.
6991 (do_with_relocs): Check bfd_alloc. Return a boolean.
6992 (ieee_bfd_debug_info_accumulate): Ditto. FIXME void.
6993 (ieee_mkobject): Check bfd_zalloc.
6994 (ieee_make_empty_symbol): Check bfd_zmalloc.
6995
6996 * hpux-core.c (hpux_core_make_empty_symbol): Check
6997 bfd_zalloc.
6998
6999 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
7000 bfd_zalloc.
7001 (hppabsd_core_core_file_p): Check bfd_zalloc.
7002
7003 * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
7004
7005 * elfcode.h (elf_new_section_hook): Check bfd_alloc.
7006 (bfd_section_from_phdr): Ditto.
7007 (write_relocs): Ditto. FIXME void
7008 (elf_map_symbols assign_section_numbers map_program_segments):
7009 Ditto. Return a boolean.
7010 (swap_out_syms): Ditto. Check elf_map_symbols.
7011 (elf_slurp_symbol_table): Check bfd_zalloc.
7012 (elf_slurp_reloca_table): Check bfd_alloc.
7013 (elf_slurp_reloc_table): Ditto.
7014 (elf_compute_section_file_positions): Check assign_section_numbers.
7015 (assign_file_positions_except_relocs): Return a boolean.
7016 Check map_program_segments.
7017 (elf_compute_section_file_positions): Check it.
7018
7019 * elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
7020
7021 * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
7022 realloc.
7023 (hppa_elf_stub_reloc): Ditto.
7024 (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
7025 (hppa_elf_build_long_branch_stub): Ditto.
7026 (elf32_hppa_backend_symbol_table_processing): Ditto.
7027
7028 * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc. Return a boolean.
7029 (ecoff_slurp_symbol_table): Check it.
7030 (ecoff_slurp_armap): Check bfd_alloc.
7031 (ecoff_write_armap): Check bfd_zalloc.
7032 (ecoff_link_hash_newfunc): Check bfd_hash_allocate and
7033 _bfd_link_hash_newfunc.
7034 (ecoff_link_add_externals): Check bfd_alloc.
7035
7036 * ctor.c (bfd_constructor_entry): Check bfd_alloc.
7037
7038 * coffgen.c (coff_real_object_p): Check bfd_alloc.
7039 (coff_renumber_symbols): Check bfd_alloc_by_size_t. Return a boolean.
7040 (coff_write_symbol): Check bfd_alloc. FIXME int
7041 (coff_write_linenumbers): Check bfd_alloc. Return a boolean.
7042 (coff_section_symbol): Check bfd_alloc_by_size_t.
7043 (coff_get_normalized_symtab): Check bfd_alloc.
7044 (coff_bfd_make_debug_symbol): Check bfd_zalloc.
7045 * libcoff-in.h: Change decls of coff_renumber_symbols,
7046 coff_write_linenumbers.
7047 * libcoff.h: Rebuilt.
7048 * coffcode.h (coff_write_object_contents): Check
7049 coff_renumber_symbols, coff_write_linenumbers.
7050
7051 * coffcode.h: Indent.
7052 (coff_add_missing_symbols): Check bfd_alloc_by_size_t. Return a
7053 boolean.
7054 (coff_write_object_contents): Check it.
7055
7056 * coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
7057 * coff-mips.c (mips_relocate_section): Ditto.
7058
7059 * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
7060 (do_slurp_bsd_armap): Ditto.
7061 (compute_and_write_armap): Check bfd_realloc value.
7062
7063 * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
7064 return value. Return boolean value.
7065 (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
7066 (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
7067 return value.
7068 (add_to_stringtab): Ditto. FIXME void
7069 (aout_link_hash_newfunc): Check bfd_hash_allocate return value.
7070 (aout_link_add_symbols): Check bfd_alloc value.
7071 (translate_symbol_table): Check translate_from_native_sym_flags.
7072 * hp300hpux.c (MY(slurp_symbol_table)): Ditto.
7073 * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
7074
7075 * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
7076
7077 * opncls.c (obstack_chunk_alloc): Define as malloc, not
7078 bfd_xmalloc_by_size_t.
7079 (_bfd_new_bfd): Check obstack_begin for 0 return.
7080
7081 * ieee.c (obstack_chunk_alloc): Define as malloc, not
7082 bfd_xmalloc_by_size_t.
7083 (ieee_archive_p): Check obstack_begin for 0 return and
7084 obstack_finish for NULL return.
7085
7086 * hash.c (obstack_chunk_alloc): Define as malloc, not
7087 bfd_xmalloc_by_size_t.
7088 (bfd_hash_table_init_n): Check obstack_begin for 0 return and
7089 obstack_finish for NULL return.
7090 (bfd_hash_lookup): Check obstack_alloc for NULL return.
7091
7092 * ecofflink.c (obstack_chunk_alloc): Define as malloc, not
7093 bfd_xmalloc_by_size_t.
7094 bfd_ecoff_debug_accumulate
7095 bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
7096 (add_file_shuffle add_memory_shuffle): Check obstack_alloc for
7097 NULL return. Return boolean, not void.
7098 (bfd_ecoff_debug_init): Check obstack_begin for 0 return.
7099 (bfd_ecoff_debug_accumulate): Check add_file_shuffle
7100 and add_memory_shuffle return.
7101 (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
7102 (bfd_ecoff_debug_accumulate): Check bfd_alloc.
7103 (ecoff_add_string): Check add_memory_shuffle return.
7104
7105 * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
7106 Remove decls.
7107 * libbfd.h: Rebuilt.
7108
30e441ca
SG
7109Fri Feb 11 15:35:32 1994 Stu Grossman (grossman at cygnus.com)
7110
7111 * configure.host: Add Lynx/rs6000 support.
7112 * config/i386-nlm.mt: Enable a.out file support.
7113 * config/rs6000lynx.mh: Lynx/rs6000 host support.
7114
5ee3886b
ILT
7115Fri Feb 11 17:25:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7116
7117 * archive.c (compute_and_write_armap): Rewrite somewhat to improve
7118 memory usage.
7119
9a793780
SS
7120Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com)
7121
7122 * archive.c: Change all references to '\n' in archive magic
7123 to '\012', for greater portability.
7124 * ecoff.c (ecoff_write_armap): Ditto.
7125
7126Thu Feb 10 12:58:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7127
7128 * aoutx.h (aout_link_write_other_symbol): Check strip settings to
7129 see whether symbol should be output.
7130 * genlink.h (struct generic_write_global_symbol_info): Added info
7131 field.
7132 * linker.c (_bfd_generic_final_link): Initialize wginfo.info.
7133 (_bfd_generic_link_write_global_symbol): Check strip settings to
7134 see whether symbol should be output.
7135 * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
7136
a62dd44f
JL
7137Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
7138
9a793780
SS
7139 * som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
7140
a62dd44f
JL
7141 * som.c: Cast return values from BFD memory allocation routines to
7142 avoid warnings from the HP compiler.
7143
945f125b
ILT
7144Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7145
0d634116
ILT
7146 * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
7147 reloc on an "ldl" instruction too.
7148
945f125b
ILT
7149 * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
7150 when passing them to sprintf. Use %ld instead of %d.
7151
7152 * coff-rs6000.c (rs6000coff_mkarchive): Return false.
7153 (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
7154 Also removed unused variable namelen.
7155 (rs6000coff_write_armap): Declare orl_count and stridx parameters.
7156
7157Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7158
7159 * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
7160 conflicts.
7161 * libbfd.h: Rebuilt.
7162
fa965415
KR
7163Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7164
7165 * coff-alpha.c (reloc_nil): New function.
7166 (alpha_howto_table): Use it as special_function to prevent certain
7167 relocs from being adjusted by bfd_perform_relocation. IGNORE
7168 reloc should be partial_inplace.
7169 (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
7170 reloc on an "ldl" instruction too.
7171
7c202d37
PS
7172Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7173
7174 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
7175 hppa_elf_build_long_branch_stub): Cast to char * instead of int
7176 before performing pointer arithmetic.
7177
9ed21f0e
JL
7178Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
7179
7180 * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
7181 configuration.
7182 (hppa*-*-*elf*): This configuration used hppa-elf now.
7183
7184 * som.c: This file is also used for HOST_HPPAOSF.
7185
7186 * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
7187
7188 * hosts/hppaosf.h: New host configuration file.
7189
7190 * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
7191 BSD handles both SOM and ELF object files.
7192
7193 * config/hppaosf.mh (HDEFINES): Delete. No longer needed.
7194 (RANLIB): Doesn't do anything, define it to be "echo".
7195
7196 * config/hppaosf.mt: New target makefile fragment for a PA running
7197 OSF1.
7198
bf969135
ILT
7199Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7200
66f1cff5
ILT
7201 * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
7202 (archures_init_table): If SELECT_ARCHITECTURES is not defined,
7203 added bfd_powerpc_arch.
7204 * bfd-in2.h: Rebuilt.
7205 * cpu-powerpc.c: New file.
7206 * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
7207 Rebuilt dependencies.
7208
bf969135
ILT
7209 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
7210 of an SHT_STRTAB section from sh_addr and sh_addralign, rather
7211 than just setting them to zero.
7212
b9d5cdf0
DM
7213Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7214
7215 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
7216 from bfd_new_strtab.
7217 (elf_compute_section_file_positions): Check for false return from
7218 swap_out_syms.
7219
7220 * linker.c (default_indirect_link_order): Check for NULL return
7221 from bfd_get_relocated_section_contents.
7222
7223 * syms.c: Make example application in doc call xmalloc, not
7224 bfd_xmalloc.
7225
7226 * aoutx.h (NAME(aout,slurp_symbol_table),
7227 aout_link_get_symbols, NAME(aout,link_hash_table_create)):
7228 * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
7229 * ecoff.c (ecoff_bfd_link_hash_table_create):
7230 * ecofflink.c (bfd_ecoff_debug_init):
7231 * format.c (bfd_check_format_matches):
7232 * linker.c (_bfd_generic_link_hash_table_create):
7233 (_bfd_generic_final_link):
7234 * reloc16.c (bfd_coff_reloc16_relax_section):
7235 (bfd_coff_reloc16_get_relocated_section_contents):
7236 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
7237 * elf32-mips.c (mips_elf_final_link):
7238 * elfcode.h (bfd_new_strtab):
7239 (bfd_add_2_to_strtab):
7240 (elf_slurp_symbol_table):
7241 (elf_corefile_note):
7242 * libbfd.c (bfd_zmalloc):
7243 Use malloc and check the result, instead of bfd_xmalloc.
7244
6b054519
JK
7245Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7246
7247 * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
7248
bf430317
PS
7249Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7250
7251 * srec.c (srec_write_record): Put CONST keyword for "src" before
7252 "unsigned", some compilers don't like it after "unsigned".
7253 * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
7254 "val" in prototype declaration because some compilers don't like
7255 arguments whose names are the same as types.
7256
9b39ed6b
ILT
7257Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7258
7259 * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
7260 object file defines symbol. Also, if skipping a symbol, skip the
7261 second symbol of a N_WARNING or N_INDR symbol as well.
7262
d352be4f
ILT
7263Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7264
7265 Add basic support for writing RS/6000 XCOFF files.
7266 * coff-rs6000.c (dummy_reloc): Removed.
7267 (rs6000coff_howto_table): Defined XCOFF relocs.
7268 (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
7269 (rs6000coff_rtype2howto): New function.
7270 (coff_bfd_reloc_type_lookup): Defined to use
7271 rs6000coff_reloc_type_lookup.
7272 (rs6000coff_reloc_type_lookup): New function.
7273 (SELECT_RELOC): Defined to set r_type and r_size fields.
7274 (COFF_LONG_FILENAMES): Defined.
7275 * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
7276 fields to bitfields. Added fields fix_value and fix_scnlen.
7277 (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
7278 STYP_INFO for the type of a section named .debug.
7279 (coff_add_missing_symbols): Don't define if RS6000COFF_C.
7280 (coff_write_object_contents): If RS6000COFF_C, don't call
7281 coff_add_missing_symbols.
7282 (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
7283 entry has type STY_LD change the x_scnlen into a pointer to a
7284 symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
7285 value into a pointer to a symbol and set fix_value.
7286 * libcoff.h: Rebuilt.
7287 * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
7288 get the symbol offset. Likewise for fix_scnlen.
7289 (string_size): Change type to bfd_size_type.
7290 (debug_string_size, debug_string_section): New static variables.
7291 (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
7292 write the symbol name into the .debug section; assume that the
7293 section has already been created with the right size.
7294 (coff_write_symbols): Initialize debug_string_size to 0. If
7295 bfd_coff_symname_in_debug returns true, don't put symbol name in
7296 usual string table. After writing out all symbols, if
7297 debug_string_size is not 0, check that it matches the size of the
7298 .debug section.
7299 (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
7300 fields. If the string offset is 0, always use an empty string as
7301 the name.
7302 (coff_make_empty_symbol): Zero out the symbol structure.
7303 * reloc.c (bfd_perform_relocation): Work around one gross hack
7304 with another: actually look at the target name to avoid the broken
7305 COFF check.
7306 (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
7307 BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
7308 * bfd-in2.h: Rebuilt.
7309
0ee34272
DM
7310Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7311
7312 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
7313 (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
7314 * libbfd-in.h: Define them as macros calling xmalloc and declare
7315 xmalloc.
7316 * libbfd.h: Rebuilt.
0ee34272 7317
fa2302b8
ILT
7318Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7319
cbc174e7
ILT
7320 * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
7321 symbol has a value in the ECOFF symbol but not in the BFD symbol,
7322 keep the value in the ECOFF symbol. This helps gas.
7323
5072b8e5
ILT
7324 * linker.c (_bfd_generic_link_output_symbols,
7325 _bfd_generic_link_write_global_symbol): Don't require that all
7326 references to a common symbol be themselves common symbols.
7327
fa2302b8
ILT
7328 * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
7329
96ad107b
JK
7330Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7331
7332 * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
7333 sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
0324156c 7334 * bfd-in2.h: Rebuilt.
96ad107b 7335
192d8ee8
ILT
7336Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7337
38e1f0ce
ILT
7338 * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
7339 and size correctly.
7340 (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
7341 x_csect.x_scnlen.l to match change in coff/internal.h.
7342 (coff_swap_aux_out): Likewise.
7343
ebf3b4cd
ILT
7344 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
7345 (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
7346 fields to match yesterday's changes.
7347
192d8ee8
ILT
7348 * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
7349 in the internal_reloc itself, not the type.
7350 * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
7351 coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
7352 definition of SELECT_RELOC accordingly.
7353
330595d0
ILT
7354Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7355
7356 * coffcode.h (bfd_coff_backend_data): Added new arguments to
7357 _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
7358 and number of aux entries.
7359 (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
7360 accordingly.
7361 * libcoff.h: Rebuilt.
7362 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
7363 arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
7364 specially if this is the last aux entry.
7365 * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
7366 new arguments to swap_aux functions.
7367
4e810849
KR
7368Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7369
7370 * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
7371 (only testing for m68k and vax at the moment); do verify that the
7372 preprocessor didn't trash the arch name inside the string version.
7373 Don't print out "pagesize =" line that prevents output from
7374 compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
7375 results.
7376 * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
26b572e4
KR
7377 (check, installcheck): Identify directory in "no testsuites"
7378 message.
4e810849 7379
2edc8357
ILT
7380Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7381
7382 * aoutx.h (aout_link_write_symbols): Write out correct value for
7383 object file symbol.
7384
098630a0
KR
7385Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7386
7387 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
7388 KERNBASE, so hard-code 0x80000000 instead.
7389
c3156966
ILT
7390Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7391
7392 * linker.c (generic_link_add_symbol_list): If symbol is common,
7393 set the BSF_OLD_COMMON flag.
7394
d6d4e4c3
DM
7395Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7396
7397 * format.c (bfd_check_format_matches): Put the new entry in the
7398 correct element of matching_vector.
7399
09f70549
JK
7400Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7401
7402 * som.c, som.h (bfd_som_set_section_attributes,
7403 bfd_som_set_subsection_attributes): Change parameters from char
7404 to int. Following a prototype with an old-style function definition
7405 in the presence of widened parameters is a GCC-ism not supported
7406 by the HP compiler in ANSI mode.
7407
a927c32d
ILT
7408Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7409
8638431e
ILT
7410 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
7411
3b490cdd
ILT
7412 * hp300hpux.c (MY(write_object_contents)): Write out the symbols
7413 before writing out the relocs, so that the right symbol indices
7414 are used.
7415
71d58b59
ILT
7416 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
7417 try to overlay the internal carsyms on the external symdefs. That
7418 can not work if the size of a host pointer is larger than 4 bytes.
7419
7420 * format.c (bfd_check_format_matches): Cast result of
7421 bfd_xmalloc_by_size_t.
7422 * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
7423
a927c32d
ILT
7424 * archive.c: Reindented to GNU standards.
7425
aabda2da
DM
7426Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7427
f4bd7a8f
DM
7428 * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
7429 "_bfd_" to function names.
7430 * archive.c (_bfd_create_empty_archive_element_shell),
7431 libbfd-in.h: Change callers.
7432
7433 * libbfd.c (bfd_zmalloc): Renamed from zalloc.
7434 * libbfd.c (bfd_add_to_string_table),
7435 trad-core.c (trad_unix_core_file_p),
7436 targets.c (bfd_target_list),
7437 ptrace-core.c (ptrace_unix_core_file_p),
7438 opncls.c (new_bfd), libbfd-in.h,
7439 ieee.c (ieee_make_empty_symbol),
7440 elf32-hppa.c (hppa_elf_stub_branch_reloc),
7441 (hppa_elf_stub_reloc): Change callers.
7442 * libbfd.h: Regenerated.
7443
7444 * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
7445 (_bfd_get_elt_at_filepos),
7446 coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
7447 Change callers.
7448
7449 * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
7450 elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
7451 and default_vector to bfd_default_vector.
7452 * libbfd.h: Regenerated.
7453
aabda2da
DM
7454 * format.c (bfd_check_format_matches): New function.
7455 (bfd_check_format): Call it.
7456 (bfd_matching_formats): Function removed.
7457 * targets.c: Replace the vector added on Jan 21 with a count of
7458 entries in default_vector.
7459 * bfd-in2.h: Regenerated.
7460
ca1c6bec
ILT
7461Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7462
3f048f7f
ILT
7463 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
7464 .pdata section based on lnnoptr field, not section header.
7465 (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
7466 since it is unsigned.
7467 (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
7468 coff_object_p.
7469 * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
7470 .pdata section to 3.
7471 (ecoff_compute_section_file_positions): Save the size of the
7472 .pdata section in the line_filepos field, and actually align the
7473 .pdata section to an alignment power of 4.
7474 (ecoff_compute_reloc_file_positions): Set output_has_begun after
7475 calling ecoff_compute_section_file_positions.
7476 (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
7477 section from the line_filepos field. Set vstamp for the optional
7478 header from the vstamp of the symbolic header.
7479 (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
7480 vstamp used by the first object file in the link.
7481
7482 * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
7483
a20bdb43
ILT
7484 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
7485 for a created common section.
7486 (_bfd_generic_link_add_one_symbol): Likewise.
7487
7488 * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
7489 get the index of a common section, rather than always using
7490 SHN_COMMON (MIPS has multiple common sections).
7491
7a60ed8c
ILT
7492 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
7493
4991ebb9
ILT
7494 * bfd/aoutx.h (aout_link_input_section_std,
7495 aout_link_input_section_ext): Pass additional arguments to
7496 reloc_overflow callback.
7497 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
7498 alpha_relocat_section): Likewise.
7499 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
7500 * coff-h8500.c (extra_case): Likewise.
7501 * coff-mips.c (mips_relocate_section): Likewise.
7502 * coff-z8k.c (extra_case): Likewise.
7503 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
7504 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
7505
1cedfe03
ILT
7506 * bout.c (calljx_callback, callj_callback): Use get_value to get
7507 the symbol value and check for undefined symbols.
7508 (get_value): If the symbol is undefined, look it up in the linker
7509 hash table.
7510 (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
7511 use get_value to get the symbol value and check for undefined
7512 symbols.
7513 * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
7514 undefined, look it up in the linker hash table.
7515
ca1c6bec
ILT
7516 * aoutx.h (translate_symbol_table): The string index 0 has a
7517 special meaning for normal symbols, but not for dynamic symbols.
7518
3f2255e7
SG
7519Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
7520
7521 * sparclynx.c: Setup appropriate macros to enable core file
7522 support.
7523
0f8f509c
DM
7524Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7525
3b31740c
DM
7526 * targets.c: Add a vector of matching format names.
7527 * format.c (bfd_matching_formats): New function to return it.
7528 (bfd_check_format): Set it.
7529 * bfd-in2.h: Regenerated.
7530
0f8f509c
DM
7531 * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
7532 Remove decl of type symclass; wasn't used.
7533 * bfd.c: Document error handling, including code fragments
7534 containing the error decls that were in bfd-in.h.
7535 Remove DEFUNs.
7536 * bfd-in2.h: Regenerated.
7537
27814aa6 7538Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
4733517b
JK
7539
7540 * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
7541 The sparc (and possibly other?) NLM format requires a different
7542 way to write exports, so add a write_export field to the backend
7543 data (and set it to NULL for everything but the sparc).
e7cc9a2e 7544
3f40d101
DM
7545Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7546
e7cc9a2e
JK
7547 * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
7548 not (struct external_nlist *) NULL. info->dynrel is a PTR, not
7549 a struct external_nlist *.
7550
6de49562
DM
7551Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7552
74788cf0 7553 * bfd.c: Remove error strings for errors removed below.
6de49562
DM
7554 * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
7555 oasys.c (oasys_write_sections): Rename
7556 bfd_error_nonrepresentable_section to nonrepresentable_section.
7557 None of the other bfd error names start with "bfd_error".
7558 Remove errors symbol_not_found and no_relocation_info, which seem
7559 to be unused.
7560 * bfd-in2.h: Regenerated.
7561
0ee75d02
ILT
7562Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7563
fcc41f68
ILT
7564 * bfd.c (bfd_get_gp_size): Added support for ELF.
7565
0ee75d02
ILT
7566 * syms.c (BSF_DYNAMIC): New symbol flag.
7567 (bfd_print_symbol_vandf): Print it.
7568 * bfd-in2.h: Rebuilt.
7569 * libaout.h (struct aout_backend_data): New read_dynamic_symbols
7570 and read_dynamic_relocs fields.
7571 (struct aoutdata): New dynamic_info field.
7572 (obj_aout_dynamic_info): New accessor macro.
7573 * sunos.c (struct sunos_dynamic_info): New structure.
7574 (sunos_read_dynamic_info, MY(read_dynamic_symbols),
7575 MY(read_dynamic_relocs)): New functions to read dynamic symbols
7576 and relocs.
7577 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
7578 dynamically linked, set SEC_RELOC for both the .text and .data
7579 sections.
7580 (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
7581 undefined symbol.
7582 (translate_symbol_table): New function, split out of
7583 slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
7584 (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
7585 (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
7586 (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
7587 return value.
7588 * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
7589 out dynamic symbols or relocs against reloc symbols, since they
7590 are already in the .text section and we wouldn't know where to
7591 write them anyhow.
7592 (sunos4_aout_backend): Initialize read_dynamic_symbols and
7593 read_dynamic_relocs fields.
7594 * aout-target.h (MY(backend_data)): Initialize
7595 read_dynamic_symbols and read_dynamic_relocs fields.
7596
dc3da58f
KR
7597Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7598
7599 * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
7600 typedefs, since HOST_64_BIT will take care of defining them in
7601 bfd.h.
7602
7e7fb4a8
KR
7603Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7604
7605 * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
7606 that's dealt with elsewhere.
7607 * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
7608 (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
7609 they get copied to bfd.h.
7610
7611 * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
7612 types. Reorganized some of the existing ones.
7613 * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
7614 values in case of compilation on a 32-bit machine. Fix pcrel
7615 fields of some reloc types.
7616 (alpha_bfd_reloc_type_lookup): Handle more relocation types.
7617
7618 * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
7619 definitions when not defined, regardless of whether uint64_type is
7620 a defined macro or not.
7621 (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
7622 already defined.
7623
d7e34f67
ILT
7624Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7625
7626 * aoutx.h (translate_to_native_sym_flags): Set the type of a
7627 BSF_WARNING symbol to N_WARNING.
7628
53155af1
ILT
7629Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7630
7631 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
7632 for an indirect or warning symbol.
7633 (aout_link_write_symbols): Update sym_hash with the target of an
3a5b50f4
ILT
7634 indirect or warning symbol. If an indirect symbol is defined,
7635 output the calculated value and don't output the target symbol.
53155af1 7636
0c205af2
DM
7637Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7638
7639 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
7640 an (unused) nonzero section value, needed for check below.
7641
964affdc
DM
7642Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7643
7644 * aoutx.h (translate_from_native_sym_flags,
7645 aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
7646 N_SET[ABDT].
7647
38a5f510
ILT
7648Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7649
7650 * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
7651 the DYNAMIC flag for the BFD.
7652 (NAME(bfd_elf,write_object_contents)): Don't try to write out a
7653 BFD with the DYNAMIC flag set, since we don't generate the program
7654 header table correctly.
7655
7656Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7657
7658 * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
7659 of the function to avoid storage leak.
7660
75919b3b
ILT
7661Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7662
7663 * ecoff.c (ecoff_link_write_external): An ifd can be -1.
7664
39961154
JL
7665Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
7666
9558d13f
JL
7667 * som.c (som_set_reloc_info): Provide a default symbol for
7668 relocations which don't actually have an associated symbol.
7669
39961154
JL
7670 * som.c (hppa_som_reloc): Add new "error message" argument.
7671
32476597
PS
7672Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7673
7674 Enable gdb to write to core files on more core file readers.
7675 * libbfd.c (bfd_generic_set_section_contents): Remove range check
7676 for section size, it is already done in bfd_set_section_contents
7677 with bfd_get_section_size_now.
7678 * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
7679 osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
7680 Use bfd_generic_set_section_contents instead of bfd_false.
7681
92f345b9
ILT
7682Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7683
39961154
JL
7684 * linker.c: Added initial documentation.
7685
92f345b9
ILT
7686 * linker.c (default_indirect_link_order): Don't expect space for
7687 output relocations if there aren't any input relocations.
7688
fed872d3
ILT
7689Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7690
c5481a5e
ILT
7691 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
7692 file offsets.
7693
fed872d3
ILT
7694 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
7695 STT_NOTYPE.
7696
b36b8a6e
JK
7697Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7698
7699 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
7700 Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
7701
cf286547
ILT
7702Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7703
7704 * ecofflink.c: Extensive changes to compress and merge debugging
7705 information, and to write some of out directly rather than saving
7706 it in memory. Several new functions and structures, and new
7707 arguments to existing functions.
7708 * ecoff.c (ecoff_compute_reloc_file_positions): Compute
7709 sym_filepos as well.
7710 (ecoff_get_extr): Use ifdmap instead of ifdbase.
7711 (ecoff_write_object_contents): Don't compute sym_filepos here.
7712 Only output symbols if outsymbols is not NULL.
7713 (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
7714 bfd_ecoff_debug functions. Write out debugging information here.
7715 (ecoff_final_link_debug_accumulate): Adjust for changes in
7716 bfd_ecoff_debug functions.
7717 (ecoff_link_write_external): Use ifdmap rather than ifdbase.
7718 * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
7719 first, to put them in the first memory buffer. Clear fdr field.
7720 (mips_elf_get_extr): Use pointer to unswapped external symbol.
7721 (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
7722 Preserve .text, .data and .bss even if they are empty. Save
7723 pointer to unswapped external symbol rather than copying it.
7724 Don't free up the external symbols.
7725 * libelf.h (elf_symbol_type): Change mips_extr to PTR.
7726 * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
7727 (bfd_ecoff_debug_accumulate): Update declaration.
7728 (bfd_ecoff_debug_accumulate_other): Rename declaration from
7729 bfd_ecoff_debug_link_other and update.
7730 (bfd_ecoff_write_accumulated_debug): Declare.
7731 * bfd-in2.h: Rebuilt.
7732 * Makefile.in: Rebuilt dependencies.
7733
2c96ba79
JK
7734Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7735
7736 * Makefile.in (install): Remove "@" which follows a backslash. In
7737 this position it just causes errors, not suppresses echoes.
7738
2304e1e8
JL
7739Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
7740
7741 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
7742 field selectors.
7743
fb4cf140
KR
7744Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7745
7746 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
7747
d44b2ddb
DM
7748Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
7749
5330499f
DM
7750 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
7751 end of data if they are not contiguous.
7752
d44b2ddb
DM
7753 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
7754
a5a835ff
ILT
7755Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7756
7757 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
7758 for .reginfo section here.
7759 (ecoff_new_section_hook): Set it here instead.
7760
442da995
SS
7761Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
7762
7763 * bfd-in.h: (bfd_boolean): Add workaround for systems that also
7764 define true and false as enums.
7765 (ALMOST_STDC): Add as alternative to __STDC__.
7766 * bfd-in2.h: Rebuilt.
7767 * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
7768
6f56c941
DM
7769Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7770
7771 * aoutx.h (translate_to_native_sym_flags): Catch the case where
7772 there is no output section.
7773
2f84ec0d
ILT
7774Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7775
90d58284
ILT
7776 * nlmcode.h (nlm_object_p): If we can't read the fixed header,
7777 count it as a wrong format error, not a system call error, since
7778 the object file might simply be too small.
7779
7780 * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
7781 BFD64.
7782 * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
7783 (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
7784 support, even though it is for an Alpha in 32 bit mode.
7785 * configure.in (nlm32_alpha_vec): Set target64 to true.
7786
7787 * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
7788 different, so there is no point to providing a generic one.
7789 * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
7790 in the backend accessor macros; that should no longer be possible.
7791 * targets.c (target_vector): Removed nlm32_big_generic_vec,
7792 nlm64_big_generic_vec, nlm64_little_generic_vec.
7793 * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
7794 nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
7795 * Makefile.in: Rebuilt dependencies, and
7796 (BFD32_BACKENDS): Removed nlm32-gen.o.
7797 (BFD64_BACKENDS): Removed nlm64-gen.o.
7798 (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
7799
559d5074
ILT
7800 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
7801
2f84ec0d
ILT
7802 * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
7803 bitsize arguments. Changed all callers (aoutx.h).
7804 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
7805 and bitsize arguments to declaration.
7806 * libbfd.h: Rebuilt.
7807
7808 * ecoff.c: First cut at new style of linker backend for
7809 ECOFF--added a bunch of functions. Also:
7810 (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
7811 (ecoff_slurp_symbolic_header): New function.
7812 (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
7813 (ecoff_compute_reloc_file_positions): New function.
7814 (ecoff_set_section_contents): Get out quickly if count is zero.
7815 Check errors better.
7816 (ecoff_write_object_contents): Put .xdata section in data segment.
7817 Call ecoff_compute_reloc_file_positions. Don't output relocs or
7818 external symbols if outsymbols is NULL.
7819 (ecoff_bfd_final_link): Completely rewritten.
7820 * libecoff.h: Include bfdlink.h.
7821 (struct ecoff_backend_data): Add relocate_section field.
7822 (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
7823 (struct ecoff_link_hash_entry): Define.
7824 (struct ecoff_link_hash_table): Define.
7825 (ecoff_bfd_link_add_symbols): Declare as function, not macro.
7826 (ecoff_bfd_link_hash_table_create): Likewise.
7827 * ecofflink.c (bfd_ecoff_debug_one_external): New function.
7828 (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
7829 * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
7830 * bfd-in2.h: Rebuilt.
7831 * coff-alpha.c (alpha_howto_table): Mark BRADDR as
7832 partial_inplace, and set the src_mask to 0x1fffff.
7833 (alpha_ecoff_get_relocated_section_contents): Remove unused
7834 variable gp_warned.
7835 (alpha_convert_external_reloc): New static function.
7836 (alpha_relocate_section): New static function.
7837 (alpha_ecoff_backend_data): Initialize relocate_section field.
7838 * coff-mips.c (mips_relocate_refhi): New static function.
7839 (mips_relocate_section): New static function.
7840 (mips_ecoff_backend_data): Initialize relocate_section field.
7841
7842 * reloc.c (_bfd_relocate_contents): Corrected signed overflow
7843 checking when there is an addend.
7844
7845 * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
7846 a non a.out file, just pass it to _bfd_default_link_order.
7847 (aout_link_input_section_std): When doing a final PC relative link
7848 against a section symbol, subtract the VMA of the input section.
7849 (aout_link_input_section_ext): Likewise.
7850
7851 * linker.c (default_indirect_link_order): Renamed from
7852 _bfd_generic_indirect_link_order and made static.
7853 (_bfd_generic_final_link): Don't switch on link_order type, just
7854 call _bfd_default_link_order.
7855 (_bfd_default_link_order): Handle bfd_indirect_link_order type.
7856 * genlink.h: Removed declaration of
7857 _bfd_generic_indirect_link_order.
7858 * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
7859 type, just call _bfd_default_link_order.
7860
7861Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
7862
7863 * linker.c (generic_link_check_archive_element): Base the name of
7864 the created common section on the name of the section the symbol
7865 came from.
7866 (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
7867 must have a section, so don't bother to create one.
7868
83acd9a2
DM
7869Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7870
7871 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
7872 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
7873 If the DYNAMIC flag is set, set it in the exec header.
7874 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
7875 dynamically linked, set the DYNAMIC flag in the BFD.
7876 * libaout.h (N_SET_DYNAMIC): New macro.
7877 (N_DYNAMIC): Add missing 0 in mask.
7878
031534b0
ILT
7879Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7880
2f84ec0d
ILT
7881 * ecoff.c (ecoff_get_extr): Don't output section symbols as
7882 external symbols.
7883
85d73944
ILT
7884 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
7885 to unsigned int, because size_t may not be defined in bfd.h.
7886 * bfd-in2.h: Rebuilt.
7887
8120aa8f
ILT
7888 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
7889 be a const pointer.
7890 * bfd-in2.h: Rebuilt.
7891 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
7892 be a const pointer.
7893 * targets.c (bfd_target): Change swap function pointers
7894 accordingly.
7895 * archive.c (do_slurp_coff_armap): Change swap accordingly.
7896 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
7897 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
7898 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
7899 accordingly.
7900
b59f0276
ILT
7901 * libbfd-in.h (struct artdata): Added tdata field.
7902 (_bfd_add_bfd_to_archive_cache): Declare.
2af2b7c4 7903 (_bfd_get_elt_at_filepos): Declare.
b59f0276
ILT
7904 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
7905 * libbfd.h: Rebuilt.
7906 * archive.c: Cleaned up some more.
7907 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
7908 pointer elements of artdata.
7909 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
7910 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
2af2b7c4
ILT
7911 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
7912 (get_extended_arelt_filename, bfd_construct_extended_name_table,
7913 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
b59f0276
ILT
7914 * ecoff.c: Some comment changes.
7915 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
7916 ardata->tdata to raw_armap.
7917 (ecoff_archive_p): Initialize pointer elements of artdata.
7918 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
7919 add_bfd_to_cache.
7920
031534b0
ILT
7921 * hash.c: Added some documentation.
7922
3f99570e
JK
7923Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
7924
7925 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
7926 and do the swapping here rather than calling ntohl from the N_*
7927 macros. This cleans up assumptions about the size of a host long,
7928 the existence to ntohl, etc.
7929
e38bcbdb
RS
7930Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
7931
7932 * config.bfd: Add support for VSTa micro-kernel. It currently uses
7933 i386-aout.
7934
f4d7c848
DM
7935Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
7936
00fe3f53 7937 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
f4d7c848
DM
7938 * i386mach3.c (SEGMENT_SIZE): Fix value.
7939
728472f1
ILT
7940Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7941
7942 Minor cleanups suggested by CodeCenter.
7943 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
7944 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
7945 appropriate.
7946 * aoutx.h (struct external_exec): Removed unnecessary declaration.
7947 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
7948 (adjust_z_magic): Removed useless variable data_vma.
7949 (stringtab_init): Initialize hash_zero.
7950 (add_to_stringtab): Removed unused fourth argument.
7951 (NAME(aout,swap_std_reloc_out)): Removed useless variable
7952 r_addend.
7953 (aout_link_input_section): Added some casts.
7954 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
7955 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
7956 Minor code rewriting to make it more C like.
7957 (do_slurp_bsd_armap): Added some casts.
7958 * ecoff.c (ecoff_write_object_contents): Removed useless variable
7959 scn_base.
7960 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
7961 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
7962 * libaout.h (struct internal_exec): Removed unnecessary
7963 declaration.
7964 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
7965 * opncls.c (new_bfd): Removed a cast.
7966 * reloc.c (bfd_generic_get_relocated_section_contents): Added
7967 some casts.
7968 * srec.c (internal_srec_write_object_contents): Removed useless
7969 variable bytes_written.
7970
696df58f
DM
7971Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
7972
7973 * i386mach3.c (N_TXTADDR): Don't define after all.
7974 (TEXT_START_ADDR): Don't include exec header size in value.
7975
e450eb45
DM
7976Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
7977
7978 * i386mach3.c (N_TXTADDR): Define.
7979
4c3721d5
ILT
7980Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7981
7982 Extensive changes to move the bulk of the linker into BFD so that
7983 more efficient backend code can be written for specific object
7984 files. Only existing efficient backend is a.out.
7985 * seclet.c, seclet.h: Removed.
7986 * hash.c, linker.c, genlink.h: New files.
7987 * bfd-in.h: Removed bfd_error_vector. Declared hash table
7988 structures and functions.
7989 (JUMP_TABLE): Removed bfd_seclet_link, added
7990 bfd_link_hash_table_create, bfd_link_add_symbols and
7991 bfd_final_link.
7992 * All backends: Changed accordingly.
7993 * bfd-in2.h: Rebuilt.
7994 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
7995 Removed ld_symbols field.
7996 (bfd_nonrepresentable_section, bfd_undefined_symbol,
7997 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
7998 bfd_error_vector): Removed.
7999 (bfd_default_error_trap, bfd_error_trap,
8000 bfd_error_nonrepresentabltrap): Removed.
8001 (bfd_get_relocated_section_contents): Pass link_info. Pass
8002 link_order instead of seclet. Pass symbols.
8003 (bfd_relax_section): Pass link_info.
8004 (bfd_seclet_link): Removed.
8005 (bfd_link_hash_table_create, bfd_link_add_symbols,
8006 bfd_final_link): New macros.
8007 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
8008 alloca as __builtin_alloca. Declare internal linking functions.
8009 * libbfd.h: Rebuilt.
8010 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
8011 for months.
8012 * reloc.c (reloc_howto_type): Added error_message argument to
8013 special_function field. Changed all callers and all definitions.
8014 (bfd_get_reloc_size): Make argument a const pointer.
8015 (bfd_perform_relocation): Add error_message argument to hold
8016 string set if return value if bfd_reloc_dangerous. Changed all
8017 callers.
8018 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
8019 * section.c (asection): Renamed seclets_head and seclets_tail to
8020 link_order_head and link_order_tail.
8021 * targets.c (bfd_target): Replaced seclet argument with link_info
8022 and link_order and symbols arguments in
8023 bfd_get_relocated_section_contents. Added symbols argument to
8024 bfd_relax_section. Removed bfd_seclet_link. Added
8025 bfd_link_hash_table_create, bfd_link_add_symbols and
8026 bfd_final_link.
8027 * libaout.h (struct aoutdata): Added external_syms,
8028 external_sym_count, external_strings, sym_hashes fields.
8029 (obj_aout_external_syms, obj_aout_external_sym_count,
8030 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
8031 macros.
8032 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
8033 * aoutx.h: Wrote new back end linker routines.
8034 (translate_to_native_sym_flags): Return boolean value. Don't use
8035 bfd_error_vector.
8036 (NAME(aout,write_syms)): Return boolean value. Check return value
8037 of translate_to_native_sym_flags and bfd_write.
8038 * aout-target.h (final_link_callback): New function.
8039 (MY_bfd_final_link): New function.
8040 * aout-adobe.c (aout_adobe_write_object_contents): Check return
8041 value of aout_32_write_syms.
8042 * hp300hpux.c (MY(write_object_contents)): Likewise.
8043 * i386lynx.c (WRITE_HEADERS): Likewise.
8044 * libaout.h (WRITE_HEADERS): Likewise.
8045 * bout.c: Changed functions to use link_info->callbacks rather
8046 than bfd_error_vector, and link_orders rather than seclets.
8047 * coff-alpha.c: Likewise.
8048 * coff-h8300.c: Likewise.
8049 * coff-h8500.c: Likewise.
8050 * coff-sh.c: Likewise.
8051 * coff-z8k.c: Likewise.
8052 * elf32-hppa.c: Likewise.
8053 * reloc16.c: Likewise.
8054 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
8055 up _gp in the hash table rather than in outsymbols.
8056 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
8057 argument rather than printing them.
8058 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
8059 link_order arguments rather than seclet. Changed all uses and
8060 definitions.
8061 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
8062 all uses and definitions.
8063 * libcoff.h: Rebuilt.
8064 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
8065 not by ECOFF, make it scAbs.
8066 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
8067 rewritten.
8068 * elf32-mips.c (mips_elf_final_link): Renamed from
8069 mips_elf_seclet_link and rewritten.
8070 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
8071 field.
8072 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
8073 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
8074 Added link_info arguments. Changed all callers.
8075 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
8076 not NULL.
8077 * oasys.c (oasys_write_sections): Return boolean value rather than
8078 using bfd_error_vector.
8079 (oasys_write_object_contents): Check return value of
8080 oasys_write_sections.
8081 * hosts/std-host.h: Don't declare qsort or strtol.
8082 * Makefile.in: Rebuild dependencies.
8083 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
8084 (CFILES): Removed seclet.c. Added hash.c and linker.c.
8085 (HFILES): Removed seclet.h. Added genlink.h.
8086
1adbf662
PS
8087Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
8088
8089 * section.c (bfd_get_section_contents): Return zero filled buffer
8090 if section has no contents.
8091
d1b44e83
ILT
8092Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8093
8094 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
8095 then skip bfd_perform_relocation even if the addend is non-zero.
8096
a2805287
KR
8097Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
8098
8099 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
8100 addend to r_offset field.
8101
8102 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
8103
8104 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
8105 CALC_ADDEND): Define.
8106
8107 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
8108 the offsetof because AIX /bin/cc does not like to take the address
8109 of an array. (From Minh Tran-Le.)
8110
277b2d2b
JL
8111Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8112
a2805287
KR
8113 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
8114
8115 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
8116 the return pointer into %r2 if no jump-in-call-delay-slot
8117 optimization was done.
8118
277b2d2b
JL
8119 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
8120
f8af9b40
DM
8121Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8122
8123 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
8124
8125 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
8126 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
8127
8128 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
8129 (TEXT_START_ADDR): Correct.
8130 (MY_backend_data): Define.
8131
8132 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
8133 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
8134
c97ae6e4
JL
8135Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8136
8137 * som.c (som_begin_writing): Fix thinkos in auxiliary header
8138 support.
8139 (bfd_som_attach_aux_hdr): Likewise.
8140
a36b6f1d
JL
8141Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8142
8143 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
8144 selectors for PIC code.
8145
8146 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
8147 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
8148 relocations needed by PIC.
8149
9e6f2498
SG
8150Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
8151
8152 * nlmcode.h: Fixes to avoid compiler warnings...
8153
900e6d96
ILT
8154Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
8155
8156 * libnlm.h (nlm_backend_data): Removed macro definition.
8157 (nlm_alpha_backend_data): Adjusted accordingly.
8158
017a52d7
JL
8159Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8160
f6c2300b
JL
8161 * som.c (som_begin_writing): Flesh out code for handling simple
8162 auxiliary headers.
8163 (bfd_som_attach_aux_hdr): New function.
8164
8165 * som.h (struct somdata): Add fields for attaching version and
8166 copyright headers. Add accessor macros.
8167
744069b8
JL
8168 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
8169 definitions for old versions of HPUX which fail to define them.
8170 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
8171 now that they're safe. Delete bogus R_STATEMENT relocations.
8172
017a52d7
JL
8173 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
8174 extra R_DATA_OVERRIDE.
8175 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
8176 mode selector if needed.
8177 (som_write_fixups): Handle requests for a change in the default
8178 rounding mode. Rounding modes do not consume input bytes, but
8179 are just markers much like R_ENTRY and R_EXIT.
8180
48eb5281
JL
8181Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8182
8183 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
8184
017a52d7
JL
8185 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
8186 the branch instruction as originally been nullified.
8187 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
8188 case of no code reordering due to an LDO instruction in the
8189 delay slot of the branch. Make sure to relocate the correct
8190 instruction. Do not perform instruction reordering for millicode
8191 calls.
8192 (hppa_elf_build_arg_reloc_stub): Change the relocation type
8193 to R_HPPA_STUB_CALL_17 when special processing might be needed.
8194 (hppa_elf_build_long_branch_stub): Prevent code reordering on
8195 a call from a linker stub to another linker stub and for millicode
8196 calls. Do not trash the return register for calls from one linker
8197 stub to a second linker stub.
8198
4861ac76
JL
8199 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
8200 relocations are not pc-relative.
8201
48eb5281
JL
8202 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
8203 linker stub code.
8204 (COPY_2_31): Likewise.
8205
ecb2d887
ILT
8206Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8207
8208 * config/solaris2.mh (HDEFINES): Remove -Dconst=
8209 * hosts/solaris.h: If not __GNUC__, define const as empty.
8210
800748cd
ILT
8211Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8212
4919d3ab
ILT
8213 * ecoff.c: Added various casts for 32/64 bit cross targeting.
8214 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
8215 section so that the linker ignores it.
8216 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
8217 (ecoff_add_bytes): Changed need argument to size_t.
8218 (bfd_ecoff_debug_link_other): Check return value of
8219 ecoff_add_string.
8220
8221 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
8222 list.
8223 * libbfd.h: Rebuilt.
8224
800748cd
ILT
8225 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
8226 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
8227 (struct nlm_backend_data): New field no_uninitialized_data.
8228 (nlm_no_uninitialized_data): New accessor macro.
8229 * nlmcode.h (nlm_compute_section_file_positions): Handle
8230 no_uninitialized_data.
8231 (nlm_external_reloc_compare): Sort relocs by address for a
8232 particular symbol, to make the sort more stable.
8233 (nlm_write_object_contents): Cast the arguments to qsort. Get the
8234 value of a debugging symbol the same way we get the value of a
8235 normal symbol.
8236 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
8237 Set no_uninitialized_data to true.
8238 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
8239 (nlm32_sparc_backend): Set no_uninitialized_data field false.
8240 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
8241 before filling it in.
8242
a7f6a456
JL
8243Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8244
8245 * som.c (som_section_type, som_decode_symcalss): New functions.
8246 (som_get_symbol_info): Use them.
8247 (som_slurp_symbol_table): Set the section of common and undefined
8248 symbols correctly.
8249
848ace96
KR
8250Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
8251
8252 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
8253 make gcc happy.
8254
8255 * mipsbsd.c: Changes from Ralph Campbell:
8256 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
8257 complain_overflow_dont.
8258 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
8259 make gdb happy.
8260
8261 * bfd.c (bfd_errmsgs): Reword invalid-target message.
8262
8263 * config.bfd: For sparc*-*-coff, use sparc-coff.
8264 * configure.in: Handle sparccoff_vec.
8265 * targets.c (sparccoff_vec): Declare.
8266
8267 * reloc.c (bfd_get_reloc_size): New function.
8268 (struct reloc_howto_type): Update documentation of size field.
8269
2f555d79
ILT
8270Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8271
68eaffda
ILT
8272 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
8273 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
8274 * config/alpha-nlm.mt: New file.
8275 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
8276 nlm32.o, and nlm.o.
8277 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
8278 (CFILES): Added nlm32-alpha.c.
8279 Rebuilt dependencies.
8280 * targets.c (nlm32_alpha_vec): Declare.
8281
8282 * libnlm.h (struct nlm_backend_data): New fields
8283 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
8284 nlm_set_public_section, nlm_get_public_offset. Removed unused
8285 nlm_write_reloc field. Changed nlm_write_import to remove
8286 unnecessary symbol argument. Renamed nlm_write_externals to
8287 nlm_write_external, and changed cound argument from bfd_vma to
8288 bfd_size_type.
8289 (nlm_optional_prefix_size, nlm_backend_object_p_func,
8290 nlm_write_prefix_func, nlm_set_public_section_func,
8291 nlm_get_public_offset_func): New accessor macros.
8292 (nlm_write_reloc_func): Removed.
8293 (nlm_write_external_func): Adjusted for field renaming.
8294 * nlm32-i386.c (nlm_i386_write_import): Renamed from
8295 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
8296 just called old nlm_i386_write_reloc.
8297 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
8298 Declared. Changed second argument from bfd_vma to bfd_size_type.
8299 (nlm32_i386_backend): Adjusted for changes to fields and names.
8300 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
8301 ifdeffed out code.
8302 (nlm_sparc_write_import): Removed second argument.
8303 (nlm_sparc_write_external): Renamed from
8304 nlm_sparc_write_externals. Changed second argument from bfd_vma
8305 to bfd_size_type.
8306 (nlm32_sparc_backend): Adjusted for changes to fields and names.
8307 * nlmcode.h: Removed some unused code.
8308 (nlm_object_p): Don't destroy tdata pointer. Call
8309 backend_object_p function if it exists.
8310 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
8311 set_public_section_func if it exists instead of checking
8312 NLM_HIBIT.
8313 (nlm_compute_section_file_positions): Account for
8314 optional_prefix_size.
8315 (nlm_write_object_contents): Account for optional_prefix_size.
8316 Removed useless variable write_reloc_func. Changed declaration
8317 and call of write_import_func. Call write_prefix_func if it
8318 exists. Removed unused variables len and temp. Call
8319 get_public_offset_func if it exists rather than setting NLM_HIBIT.
8320 * nlmswap.h: Declare functions.
8321
2f555d79
ILT
8322 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
8323 for clarity.
8324 (fprintf_vma, sprintf_vma): Use %lx, not %x.
8325 * bfd-in2.h: Rebuilt.
8326 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
8327 to unsigned long.
8328
8329 * config.bfd: Don't set target64 here, as the setting is ignored.
8330 * configure.in (ecoffalpha_little_vec): Set target64.
8331
8332 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
8333 in TDEFINES is wrong.
8334
8335 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
8336 Remove unused variable output_section.
8337
7cd39d69
ILT
8338Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8339
8340 * irix-core.c: New file for Irix 4 and Irix 5 core support.
8341 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
8342 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
8343 * targets.c: If IRIX_CORE defined, include irix_core_vec in
8344 target_vector.
8345 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
8346 (HDEPFILES): Define to be irix-core.o.
8347 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
8348 (HDEPFILES): Define to be irix-core.o.
8349 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
8350 sco-core.o, which no longer exists.
8351 (CFILES): Added all *-core.c files.
8352 Rebuilt dependencies.
8353
8d12f138
ILT
8354Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8355
6c35a16d
ILT
8356 * elfcode.h (map_program_segments): Restore check of file_size !=
8357 mem_size, but only if SHT_PROGBITS.
8358
8d12f138
ILT
8359 * ecofflink.c: New file to hold ECOFF debug information linking
8360 routines.
8361 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
8362 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
8363 ecofflink.c.
8364 (ecoff_get_extr, ecoff_set_index): New functions.
8365 (ecoff_slurp_symbolic_info): Don't save raw_size.
8366 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
8367 (ecoff_compute_section_file_positions): Don't set EXEC_P just
8368 because there is a start address.
8369 (ecoff_write_object_contents): Handle external symbols here. Use
8370 ecofflink.c functions to write out debugging information.
8371 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
8372 mips_elf_set_index): New functions.
8373 (mips_elf_seclet_link): Discard empty sections, the .options
8374 section and .gptab sections. Handle linking .mdebug section.
8375 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
8376 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
8377 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
8378 called by gas, so they are public).
8379 * bfd-in2.h: Rebuilt.
8380 * Makefile.in (BFD_LIBS): Added ecofflink.o.
8381 (CFILES): Added ecofflink.c.
8382 (ecofflink.o): New target. Rebuilt dependencies.
8383
abb324b2
JL
8384Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8385
8386 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
8387 a valid magic number if it's been defined.
8388
8f45f604
ILT
8389Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8390
8391 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
8392 no longer requires it.
8393 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
8394 ecoff_write_object_contents): Don't treat .scommon section
8395 specially.
8396
c236d8b3
FF
8397Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
8398
8399 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
8400 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
8401 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
8402 * bfd/ptrace-core.c: New file for dealing with core files with
8403 start with the ptrace_user structure found on BCS compliant systems.
8404 * bfd/targets.c (ptrace_core_vec): New vector.
8405
36456a67
JL
8406Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8407
8408 * Minimal support for reading SOM fixup streams. Allows
8409 objdump -r to do something reasonable.
8410 * som.c (som_get_reloc_upper_bound): Implement.
8411 (som_canonicalize_reloc): Implement.
8412 (som_set_reloc_info, som_slurp_reloc_table): New functions.
8413
8d12f138
ILT
8414Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8415
8416 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
8417 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
8418
a1bff336
ILT
8419Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8420
533af031
ILT
8421 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
8422 signed_value before sign extending it. Don't subtract out
8423 reloc_entry->address. This makes it compatible with what gas is
8424 generating.
8425
a1bff336
ILT
8426 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
8427 SHT_NOBITS sections.
8428 (map_program_segments): Don't leave the loop after the first
8429 SHT_NOBITS section.
8430 (assign_file_positions_except_relocs): Only force sh_offset and
8431 sh_addr to match modulo maxpagesize for a section which is not
8432 SHT_NOBITS. Changed the method used to force page alignment after
8433 a SHT_NOBITS section to only do it for the last such consecutive
8434 section, and to really force page alignment.
8435
96be1f52
KR
8436Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8437
4c01d9b5
KR
8438 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
8439 in the case of an unknown (or unhandled) storage class.
8440
96be1f52
KR
8441 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
8442 not be defined here, since it is a host attribute, not a target
8443 one.
8444 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
8445
8446 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
8447 defined.
8448
8449 * coff-sparc.c: Define some relocations, based on ELF relocations.
8450 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
8451 struct coff_reloc_map, sparc_reloc_map,
8452 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
8453 elf.c, renamed.
8454 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
8455 (rtype2howto): Index into coff_sparc_howto_table using
8456 dst->r_type.
8457
f8944f84
ILT
8458Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8459
8460 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
8461 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
8462 hosts/irix5.h created; just use std-host.h).
8463 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
8464 -lmalloc.
8465 * Makefile.in: Rebuilt dependencies.
8466
8467 * ecoffswap.h: Changed type of internal pointers for swap out
8468 functions to const *.
8469
8470 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
8471 correctly for assembler, but linker support not implemented.
8472 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
8473 (mips_elf_sym_is_global): New function; at least on Irix 5, all
8474 non section symbols are considered global.
8475 (elf_backend_sym_is_global): Define.
8476 (mips_elf_final_write_processing): New function. Set the MIPS
8477 architecture level correctly.
8478 (elf_backend_final_write_processing): Define.
8479 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
8480 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
8481 section to 1. Handle .options section.
8482 (mips_elf_acom_section, mips_elf_acom_symbol,
8483 mips_elf_acom_symbol_ptr): New static variables, used to build a
8484 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
8485 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
8486 putting them all in a global .acommon section.
8487
8488 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
8489 section has no ELF section data.
8490 (elf_make_sections): Set addralign of reloc section to 4.
8491 (elf_fake_sections): Likewise.
8492 (map_program_segments): Don't consider section 0.
8493 (assign_file_positions_except_relocs): Don't consider section 0.
8494 In the main loop, skip the symtab and strtab sections, since their
8495 positions are set elsewhere.
8496 (swap_out_syms): Set addralign of symtab section to 4. Set
8497 addralign of strtab sections to 1.
8498 (assign_file_positions_for_relocs): Don't consider section 0.
8499 (write_object_contents): Don't write out section 0.
8500
8501 * libelf.h (struct elf_backend_data): Added fields
8502 elf_backend_sym_is_global and elf_backend_final_write_processing.
8503 * elf32-target.h (elf32_bed): Added corresponding initializers.
8504 * elf64-target.h (elf64_bed): Likewise.
8505 * elfcode.h (sym_is_global): Take abfd argument. Call
8506 elf_backend_sym_is_global if it is not NULL.
8507 (elf_map_symbols): Pass abfd to sym_is_global.
8508 (write_object_contents): Call elf_backend_final_write_processing
8509 if it is defined.
8510
c9668c58
ILT
8511Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8512
8513 * libecoff.h: Include coff/ecoff.h.
8514 (struct ecoff_backend_data): Move external debugging information
8515 fields into a single field pointing to an ecoff_debug_swap
8516 structure.
8517 (ecoff_data_type): Move debugging information fields into a single
8518 field pointing to an ecoff_debug_info structure.
8519 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
8520
2f555d79
ILT
8521Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
8522
8523 * nlmswap.h: New file to swap fixed header. Included by NLM
8524 backends.
8525 * libnlm.h (struct reloc_and_sec): Define.
8526 (struct nlm_backend_data): Add fields fixed_header_size,
8527 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
8528 nlm_swap_fhdr_out.
8529 (nlm_fixed_header_size, nlm_read_import_func,
8530 nlm_write_import_func, nlm_swap_fixed_header_in_func,
8531 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
8532 accessor macros.
8533 * nlmcode.h: Use new functions.
8534 * nlm32-i386.c: Provide new functions.
8535 * nlm32-sparc.c: New file; SPARC NLM backend.
8536
55ff7aef
SS
8537Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
8538
8539 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
8540 garbage bits appearing in the upper end of symbolnums.
8541
8542 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
8543
343c1a96
SG
8544Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
8545
8546 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
8547 * m68klynx.c: Define core file macros.
8548 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
8549 non-architecture specific stuff into lynx.h.
8550
794057a7
JK
8551Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
8552
8553 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
8554 change PAGE_SIZE to 4096.
8555
8556Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
8557
8558 * Makefile.in (diststuff): New target.
8559
8560 * VERSION: Updated.
8561
09796011
JL
8562Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8563
3be54498
JL
8564 * som.c (som_object_setup): Do not create dummy ".text", ".data",
8565 and ".bss" sections.
8566 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
8567 is zero. Recognize BSS type sections and turn off SEC_LOAD and
8568 SEC_DATA (so binutils/size works). Set the correct value for
8569 a section's _raw_size.
8570 (som_slurp_symbol_table): Program entry points, and millicode are
8571 also functions. Mark them as such. Also mark L$* symbols as
8572 debugging symbols.
8573
09796011
JL
8574 * bfd-in2.h: Rebuilt.
8575
aff97790
JL
8576Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8577
91c0bcbb
JL
8578 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
8579 a pointer to constant data. Delete bogus #define which made the
8580 function useless.
8581
aff97790 8582 * som.c (som_prep_for_fixups): New function.
9d0dea6f 8583 (som_write_fixups): New function.
0b35f7ec 8584 (som_write_space_strings): New function.
6eb64408
JL
8585 (som_write_symbol_strings): New function.
8586 (som_begin_writing): New function.
aff97790 8587
40249bfb
JL
8588Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8589
980bac64
JL
8590 * som.c (som_write_object_contents): Do not abort. Flesh out.
8591 (som_set_section_contents): Do not abort. Flesh out.
8592
efc0df7c
JL
8593 * som.c (som_write_headers): New function.
8594 (som_prep_headers): New function.
713de7ec 8595 (som_build_and_write_symbol_table): New function.
7057b78f 8596
2212ff92
JL
8597 * som.c (som_sizeof_headers): Add missing prototype.
8598 (som_set_arch_mach): Do not abort.
8599
5532fc5a
JL
8600 * som.c (som_count_spaces): New function.
8601 (som_count_subspaces): New function.
8602 (compare_syms): New function.
8603 (som_compute_checksum): New function.
8604
32619c58
JL
8605 * som.c (hppa_som_gen_reloc_type): New function.
8606 (som_bfd_reloc_type_lookup): New function.
8607
54bbfd37
JL
8608 * som.c (try_prev_fixup): New function.
8609 (som_reloc_skip): New function.
8610 (som_reloc_addend): New function.
efc0df7c 8611 (som_reloc_call): New function.
54bbfd37 8612
d125665c
JL
8613 * som.c (som_initialize_reloc_queue): New function.
8614 (som_reloc_queue_insert): Likewise.
8615 (som_reloc_queue_fix): Likewise.
8616 (som_reloc_queue_find): Likewise.
8617
fcb0c846
JL
8618 * som.c (som_hppa_howto_table): SOM howto relocation table.
8619 (hppa_som_reloc): New function.
8620
4fdb66cd
JL
8621 * som.c (struct reloc_queue): New structure to keep track of
8622 the last four multibyte relocations emitted.
8623 (enum pa_symbol_type): Type to fully describe the symbol types
8624 associated with .import/.export assembler directives.
8625
70f1d738
JL
8626 * som.c: Include libhppa.h
8627
40249bfb
JL
8628 * som.c (bfd_som_set_section_attributes): New function.
8629 (bfd_som_set_subsection_attributes): Likewise.
8630 (bfd_som_set_symboL_type): Likewise.
8631 (bfd_som_attach_unwind_info): Likewise.
8632 * som.h: Declare new exported functions.
8633
8634 * som.h (struct som_symbol): Add new fields to hold additional
8635 information needed to build/write symbol tables and fixup streams.
8636 (struct som_section_data_struct): Add new fields to hold additional
8637 information needed to build/write space and subspace headers.
8638 (som_symbol_data): New accessor macro for SOM symbol information.
8639 (R_HPPA_*): Basic relocation types to be used by the assembler.
8640
115f7430
JK
8641Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
8642
8643 * trad-core.c (trad_unix_core_file_p): If new hook
8644 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
8645 corefile being too big.
8646 * hosts/i386sco.h: Define it.
8647
3e80841e
JL
8648Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8649
8a71bf96
JL
8650 * bfd.c (struct _bfd): Add hppabsd_core_data.
8651 * targets.c (target_vector): Add hppabsd_core_vec.
8652 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
8653 section is encountered during core section scanning.
8654 * hppabsd-core.c: New file.
8655 * config/hppabsd.mh: Enable HPPA BSD core files.
8656
3e80841e
JL
8657 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
8658 which is either commented out or ifdef'd out. Add, update and
8659 clean comments. Fix various indention and spacing problems. Handle
8660 problems related to using "ble" to jump to a stub rather than "bl"
8661 (%r31 is trashed by "ble", but not by "bl").
8662 (NEW_INSTRUCTION): Put inside curly braces.
8663 (CURRENT_STUB_OFFSET): Fix indention problems.
8664 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
8665 Add, update and clean comments. Handle "ble" %r31 lossage problems.
8666 (hppa_elf_build_long_branch_stub): Likewise.
8667 (hppa_look_for_stubs_in_section): Likewise.
8668 (hppa_elf_stub_check): Remove obsolete function.
8669
8670 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
8671 problems. Delete unused instructions.
8672
0f5bc783
SS
8673Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
8674
8675 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
8676
95469b02
ILT
8677Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8678
346f0414
ILT
8679 * elfcode.h (elf_object_p): Rather than looking through an array
8680 of architectures, get the ELF EM_xxx code from the backend
8681 information. Let the generic ELF target match any EM_xxx code not
8682 matched by another ELF target. Call elf_backend_object_p to let
8683 the backend do more checks and set global information.
8684 * libelf.h (struct elf_backend_data): Added elf_machine_code and
8685 elf_backend_object_p fields.
8686 (struct bfd_elf_arch_map): Removed.
8687 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
8688 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
8689 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
8690 field with elf_backend_object_p (if it is defined).
8691 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
8692 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
8693 elf64-gen.c (ELF_MACHINE_CODE): Defined.
8694 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
8695 routines.
8696 (mips_elf_object_p): Set the right machine number.
8697 (mips_elf_ecoff_debug_swap): Defined.
8698 (elf_backend_object_p): Defined to be mips_elf_object_p.
8699 (elf_backend_ecoff_debug_swap): Defined to be
8700 mips_elf_ecoff_debug_swap.
8701 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
8702
8703 * libbfd-in.h (target_vector, default_vector): Declare.
8704 * libbfd.h: Rebuilt.
8705 * format.c (target_vector, default_vector): Don't declare.
8706
8707 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
8708 for R_MIPS_26. Correct overflow detection requires matching the
8709 upper four bits of the destination against the PC. From Ted Lemon
8710 <mellon@pepper.ncd.com>.
8711
8712 * bout.c (b_out_reloc_type_lookup): Return type should point to
8713 const data.
8714 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
8715 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
8716 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
8717 * coff-i386.c (coff_i386_reloc): Made howto const.
8718 * oasys.c (oasys_write_data): Made how const.
8719
95469b02
ILT
8720 * libelf.h: Added some comments.
8721 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
8722 field. Removed unused write_relocs field.
8723 * elf32-target.h: Adjusted elf_backend_data initialization
8724 accordingly.
8725 * elf64-target.h: Corrected elf_backend_data initialization to
8726 fill in all fields and to set elf_64_p to 1.
8727
e2756048
ILT
8728Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8729
7b8106b4
ILT
8730 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
8731 to filepos in SHT_STRTAB case.
8732 (assign_file_position_for_section): Set BFD section filepos as
8733 well as ELF section sh_offset.
8734
e2756048
ILT
8735 * reloc.c: Use const instead of CONST.
8736 (bfd_perform_relocation): Make variable howto a const pointer.
8737 * bfd-in2.h, libbfd.h: Rebuilt.
8738
8739Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
8740
8741 * Makefile.in (realclean): Don't remove generated headers. Reverts
8742 change of 2 Jul 1993.
8743
007455de
DHW
8744Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
8745
8746 * configure.bfd: make unixware equivalent to sysv4.
8747
8748 * config/i386-nlm.mt: bring in elf config; make it the default.
8749
1d3e8847
JL
8750Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8751
8752 * libbfd.c (bfd_put_8): Add parens around reference to "val"
8753 argument.
8754
2ccb88c0
DM
8755Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8756
8757 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
8758 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
8759
0f396d2a
ILT
8760Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8761
8762 * coffcode.h (coff_write_object_contents): Zero out internal_a.
8763
c188b0be
DM
8764Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8765
8766 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
8767 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
8768 section.c, syms.c, targets.c:
8769 Doc cleanup (spelling, punctuation, grammar, formatting).
8770 * bfd-in2.h, libbfd.h: Rebuild.
c188b0be 8771
baf205c4
JG
8772Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
8773
8774 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
8775 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
8776
fa8e8648
JL
8777Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8778
8779 * From Pete Hoogenboom (hoogen@cs.utah.edu)
8780 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
8781 in last change. Always rebuild symbol extension section the first
8782 time though if output sections exist (fixes ld -r problems).
8783
d5d53b0a
JW
8784Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
8785
8786 * Makefile.in: Add .PHONY for check and installcheck rules.
8787
8788Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
8789
8790 * libbfd-in.h (artdata): Use long, not time_t for portability, at
8791 least to HPUX. File below is a derived file.
8792
31eb3ead
BC
8793Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
8794
8795 * libbfd.h (artdata): Use long, not time_t for portability, at
8796 least to HPUX.
8797
242f60e2
JK
8798Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
8799
8800 * config.bfd: Use bigmips for mips*-*-bsd*.
8801
55d5b62d
ILT
8802Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8803
f2e945df
ILT
8804 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
8805 Handle symbol number of zero.
8806
7386c3b7
ILT
8807 * reloc.c (enum bfd_reloc_code_real): Added
8808 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
8809 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
8810 * bfd-in2.h: Rebuilt.
8811 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
8812 BFD_RELOC_MIPS_LITERAL.
8813 * elf32-mips.c (mips_reloc_map): Handle new relocs.
8814 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
8815 checks slightly.
8816
55d5b62d
ILT
8817 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
8818 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
8819 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
8820 MY_bfd_seclet_link): Define.
8821 (MY_bfd_reloc_type_lookup): Rename from
8822 MY_reloc_howto_type_lookup.
8823 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
8824 (MY(vec)): Use JUMP_TABLE rather than listing functions.
8825 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
8826 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
8827 terms of MY, because that causes a recusive invocation of CAT when
8828 expanded within JUMP_TABLE, and ANSI compilers don't expand
8829 recursive macros.
8830 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
8831 MY_reloc_howto_type_lookup, and don't define in terms of MY.
8832 (MY_canonicalize_reloc): Don't define in terms of MY.
8833 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
8834 than listing functions.
8835
6198b7a1
JK
8836Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
8837
8838 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
8839
ceeca31c 8840See file ChangeLog.1
e6d739eb 8841
41126f15
JK
8842\f
8843Local Variables:
8844mode: indented-text
8845left-margin: 8
6ec3bb6a
ILT
8846fill-column: 74
8847version-control: never
8848End:
This page took 0.542977 seconds and 4 git commands to generate.