46e8c26f7cdca474f8c9c577cb8b586b2d48a224
[binutils-gdb.git] / bfd / ChangeLog
1 1999-08-09 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * coffgen.c (coff_find_nearest_line): When looking for file, use
4 last best match rather than first. If address is beyond last line
5 number record, don't return the last line as the correct value.
6
7 1999-08-08 Ian Lance Taylor <ian@zembu.com>
8
9 * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT.
10 * bfd-in2.h: Rebuild.
11
12 1999-08-08 Mark Elbrecht <snowball3@bigfoot.com>
13
14 * libcoff-in.h (struct coff_section_alignment_entry): Define.
15 * coffcode.h (coff_set_custom_section_alignment): New static
16 function.
17 (coff_section_alignment_table): New static array.
18 (coff_new_section_hook): Use coff_set_customer_section_alignment.
19 * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
20 * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
21 * libcoff.h: Rebuild.
22
23 1999-08-08 Ian Lance Taylor <ian@zembu.com>
24
25 * Makefile.am: Rename .dep* files to DEP*. Change DEP variable to
26 MKDEP.
27 * Makefile.in: Rebuild.
28
29 1999-08-08 Mumit Khan <khan@xraylith.wisc.edu>
30
31 * section.c (SEC_SHARED): Define.
32 * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
33 (styp_to_sec_flags): Likewise.
34 * peicode.h (coff_swap_scnhdr_out): Likewise.
35 * bfd-in2.h: Rebuild.
36
37 1999-08-08 Ian Lance Taylor <ian@zembu.com>
38
39 * coffcode.h (coff_classify_symbol): Comment out part of
40 1999-08-05 change which breaks cygwin DLLs.
41
42 * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
43 * aclocal.m4, configure: Rebuild.
44
45 1999-08-06 Ian Lance Taylor <ian@zembu.com>
46
47 * section.c (global_syms): Only initialize union field if
48 __STDC__.
49
50 1999-08-04 Mark Mitchell <mark@codesourcery.com>
51
52 * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by
53 the size of a GOT entry here.
54 (mips_elf_calculate_relocation): Don't create a local GOT entry
55 for the symbol in a GOT16 relocation; just for it's high-order bit
56 (_bfd_mips_elf_relocate_section): Fix thinko.
57
58 1999-08-05 Ian Lance Taylor <ian@zembu.com>
59
60 Based on patches from Donn Terry <donn@interix.com>:
61 * coffcode.h (enum coff_symbol_classification): Define.
62 (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to
63 _bfd_coff_classify_symbol. Change return type.
64 (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global.
65 (coff_slurp_symbol_table): Use coff_classify_symbol.
66 (coff_classify_symbol): New static function.
67 (coff_sym_is_global): Never define.
68 (bfd_coff_std_swap_table): Initialize with coff_classify_symbol.
69 * cofflink.c (coff_link_check_ar_symbols): Use
70 bfd_coff_classify_symbol rather than bfd_coff_sym_is_global.
71 (coff_link_add_symbols): Likewise.
72 (_bfd_coff_link_input_bfd): Likewise.
73 * coff-sh.c (bfd_coff_small_swap_table): Initialize with
74 coff_classify_symbol.
75 * libcoff.h: Rebuild.
76
77 Wed Aug 4 18:08:07 1999 Jeffrey A Law (law@cygnus.com)
78
79 * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors
80 (e_ltpsel, e_rtpsel): Similarly.
81
82 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
83 and 14bit ertpsel. Handle 64bit psel.
84
85 1999-08-04 Mark Mitchell <mark@codesourcery.com>
86
87 * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16
88 handling for REL relocations. And only left-shift R_MIPS26
89 relocation addends where necessary.
90
91 1999-08-03 Mark Mitchell <mark@codesourcery.com>
92
93 * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...
94 (mips_elf_next_lo16_relocation): Don't compute the addend here.
95 Just return the relocation found.
96 (mips_elf_relocate_section): Pull the LO16 addend out of the
97 section itself when using REL relocations.
98
99 * elf32-mips.c (mips_elf_calculate_relocation): Restore
100 _DYNAMIC_LINK handling and handling of undefined symbols in shared
101 libraries.
102
103 1999-08-03 Ian Lance Taylor <ian@zembu.com>
104
105 * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation
106 value of a symbol in a SEC_DEBUGGING section. Warn when doing a
107 relocation against a symbol in an input section with no output
108 section. From Daniel Jacobowitz <drow@false.org>.
109
110 * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used.
111
112 * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to
113 look for generated file correctly.
114 * aclocal.m4, configure: Rebuild.
115
116 1999-08-02 Mark Mitchell <mark@codesourcery.com>
117
118 * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26
119 and R_MIPS16_26 relocations correctly when relocating.
120 (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16
121 and R_MIPS_CALL_LO16 are for global symbols.
122
123 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
124
125 * elflink.h (elf_bfd_final_link): Copy the whole isym, not just
126 some fields.
127 * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used
128 variables and initialize them.
129
130 1999-08-01 Mark Mitchell <mark@codesourcery.com>
131
132 * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where
133 there are no global symbols requiring GOT entries.
134 (_bfd_mips_elf_size_dynamic_sections): Likewise.
135 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
136 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
137
138 * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak
139 symbols are considered to have the value zero.
140 (_bfd_mips_elf_relocate_section): Don't try to perform a
141 relocation for an undefined symbol.
142 (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local
143 GOT16 relocations.
144
145 1999-07-30 Jakub Jelinek <jj@ultra.linux.cz>
146
147 * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI
148 wants ba,a,pt %xcc instead of %icc.
149 Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots
150 of large PLT entries.
151 (sparc64_elf_plt_ptr_offset): Fix calculation.
152 (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT
153 addend should be relative to load address, not .plt section start.
154 (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries.
155
156 1999-07-30 Jakub Jelinek <jj@ultra.linux.cz>
157
158 * elf-bfd.h (struct elf_backend_data): Add
159 print_symbol_all and output_arch_syms backend methods.
160 * elfxx-target.h: Likewise.
161 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create,
162 sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms,
163 sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New
164 functions.
165 (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER
166 symbols in .dynsym, add their names into .dynstr. Put those symbols
167 into dynlocal.
168 (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER
169 pointers to STT_REGISTER symbols in dynsym section.
170 (sparc64_elf_print_symbol_all): New function.
171 * elf.c (bfd_elf_print_symbol): Allow special backend symbol
172 printing using the print_symbol_all hook.
173
174 1999-07-30 Catherine Moore <clm@cygnus.com>
175
176 * elf32-arm.h (elf32_arm_check_relocs): Use r_offset for
177 R_ARM_GNU_VTENTRY.
178
179 1999-07-29 Richard Henderson <rth@cygnus.com>
180
181 * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if
182 dynamic_sections_created.
183
184 1999-07-29 Richard Henderson <rth@cygnus.com>
185
186 * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...
187 (mips_rtype_to_howto): ... new function.
188 (_bfd_mips_elf_relocate_section): Use it.
189
190 1999-07-28 Mark Mitchell <mark@codesourcery.com>
191
192 * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.
193
194 1999-07-27 Nick Clifton <nickc@cygnus.com>
195
196 Patch generated by Bernd Schmidt. <bernds@cygnus.co.uk>
197
198 * coff-arm.c (coff_arm_is_local_label_name): Change to strip
199 out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'.
200
201 1999-07-23 Donn Terry <donn@interix.com>
202
203 * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags
204 field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL.
205 * cofflink.c (coff_link_add_symbols): If PE, handle section
206 symbols specially.
207 * libcoff.h: Rebuild.
208
209 * config.bfd (i[3456]86-*-interix*): New target.
210
211 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
212
213 * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and
214 COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with
215 .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD.
216 * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define.
217 (COFF_SUPPORT_GNU_LINKONCE): Define.
218 * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define.
219 (COFF_SUPPORT_GNU_LINKONCE): Define.
220
221 1999-07-21 Ian Lance Taylor <ian@zembu.com>
222
223 From Mark Elbrecht:
224 * makefile.dos: Remove; obsolete.
225 * configure.bat: Remove; obsolete.
226
227 1999-07-21 H.J. Lu <hjl@gnu.org>
228
229 * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes.
230
231 1999-07-21 Philippe De Muyter <phdm@macqel.be>
232
233 * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error
234 message and fail if a symbol index is out of range.
235
236 1999-07-21 Ian Lance Taylor <ian@zembu.com>
237
238 * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value
239 when looking at a R_MIPS_GOT16 relocation.
240
241 1999-07-20 Nick Clifton <nickc@cygnus.com>
242
243 * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC.
244
245 Mon Jul 19 14:03:44 1999 Mark P. Mitchell <mark@codesourcery.com>
246
247 * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
248 removed in previous change.
249 (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
250 in relocateable output.
251
252 1999-07-19 Ian Lance Taylor <ian@zembu.com>
253
254 * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
255 structure.
256
257 * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
258 if they appear to be specially created by the linker.
259
260 1999-07-19 Nick Clifton <nickc@cygnus.com>
261
262 * targets.c (alternative_target): New field in bfd_target
263 structure.
264 (bfd_search_for_target): New function: Find a target that
265 satisifies a search function.
266 * bfd-in2.h: Regenerate.
267
268 * elfxx-target.h: Initialise the alternative_target field of
269 the bfd_target structures to point to the other target (if
270 defined).
271 * nlm-target.h: Initialise the alternative_target field of
272 the bfd_target structures to point to the other target (if
273 defined).
274
275 * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
276 (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
277
278 * aix386-core.c: Initialise new field of bfd_target structure.
279 * aout-adobe.c: Initialise new field of bfd_target structure.
280 * aout-arm.c: Initialise new field of bfd_target structure.
281 * aout-target.h: Initialise new field of bfd_target structure.
282 * aout-tic30.c: Initialise new field of bfd_target structure.
283 * binary.c: Initialise new field of bfd_target structure.
284 * bout.c: Initialise new field of bfd_target structure.
285 * cisco-core.c: Initialise new field of bfd_target structure.
286 * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
287 * coff-alpha.c: Initialise new field of bfd_target structure.
288 * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
289 * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
290 * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
291 * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
292 * coff-i386.c: Initialise new field of bfd_target structure.
293 * coff-i860.c: Initialise new field of bfd_target structure.
294 * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
295 * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
296 * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
297 * coff-mips.c: Initialise new field of bfd_target structure.
298 * coff-ppc.c: Initialise new field of bfd_target structure.
299 * coff-rs6000.c: Initialise new field of bfd_target structure.
300 * coff-sh.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
301 * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
302 * coff-tic30.c: Initialise new field of bfd_target structure.
303 * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
304 * coff-w65.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
305 * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
306 * coff-z8k.c: Use CREATE_BIG_COFF_TARGET_VEC.
307 * hppabsd-core.c: Initialise new field of bfd_target structure.
308 * hpux-core.c: Initialise new field of bfd_target structure.
309 * i386msdos.c: Initialise new field of bfd_target structure.
310 * i386os9k.c: Initialise new field of bfd_target structure.
311 * ieee.c: Initialise new field of bfd_target structure.
312 * ihex.c: Initialise new field of bfd_target structure.
313 * irix-core.c: Initialise new field of bfd_target structure.
314 * mipsbsd.c: Initialise new field of bfd_target structure.
315 * netbsd-core.c: Initialise new field of bfd_target structure.
316 * oasys.c: Initialise new field of bfd_target structure.
317 * osf-core.c: Initialise new field of bfd_target structure.
318 * ppcboot.c: Initialise new field of bfd_target structure.
319 * ptrace-core.c: Initialise new field of bfd_target structure.
320 * sco5-core.c: Initialise new field of bfd_target structure.
321 * som.c: Initialise new field of bfd_target structure.
322 * srec.c: Initialise new field of bfd_target structure.
323 * tekhex.c: Initialise new field of bfd_target structure.
324 * trad-core.c: Initialise new field of bfd_target structure.
325 * versados.c: Initialise new field of bfd_target structure.
326 * vms.c: Initialise new field of bfd_target structure.
327
328 1999-07-19 Andreas Schwab <schwab@suse.de>
329
330 * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
331 and rel_hdr.
332
333 Sat Jul 17 02:28:28 1999 Mark P. Mitchell <mark@codesourcery.com>
334
335 * elflink.h (elf_link_adjust_relocs): New function.
336 (elf_bfd_final_link): Use it.
337 (elf_link_input_bfd): Deal with the fact that there can be
338 two relocation sections for a single section.
339 (elf_reloc_link_order): Likewise.
340
341 * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for
342 a relocateable object.
343 (_bfd_mips_elf_relocate_section): Handle relocateable links.
344
345 1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
346
347 * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
348 (sparc64_elf_get_reloc_upper_bound,
349 sparc64_elf_get_dynamic_reloc_upper_bound,
350 sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
351 sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
352 New functions.
353 (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
354 ELF64_R_TYPE_ID/DATA where appropriate.
355
356 1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
357
358 * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
359 DT_SPARC_PLTFMT.
360
361 1999-07-16 Ian Lance Taylor <ian@zembu.com>
362
363 * elf32-mips.c (mips_elf_local_relocation_p): New static
364 function.
365 (mips_elf_next_lo16_addend): Call bfd_set_error on failure.
366 (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
367 Always set *require_jalxp.
368 (mips_elf_stub_section_p): Mark abfd parameter as unused.
369 (_bfd_mips_elf_relocate_section): Only look for LO16 following
370 GOT16 if the GOT16 is against a local symbol. Don't return false
371 for an undefined symbol. If there is an overflow, assert that we
372 have a name.
373
374 1999-07-16 Andreas Schwab <schwab@suse.de>
375
376 * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
377 variables `link' and `elfsec'.
378 (elf_bfd_final_link): Remove unused variable `os'.
379
380 Thu Jul 15 17:55:31 1999 Mark P. Mitchell <mark@codesourcery.com>
381
382 * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
383 a PT_PHDR program headers.
384 (_bfd_mips_elf_final_link): Don't assume there are going to be
385 section symbols when we're not building a shared object.
386 (_bfd_mips_elf_check_relocs): Make sure we have a GOT when
387 we need one.
388
389 1999-07-15 J.T. Conklin <jtc@redback.com>
390
391 * config.bfd (i[3456]86-*-vxworks*): New target.
392
393 1999-07-15 Mark Mitchell <mark@codesourcery.com>
394
395 * elf32-mips.c (mips_elf_stub_section_p): New function.
396 (mips_elf_calculate_relocation): Handle MIPS16 stub functions.
397 (mips_elf_relocate_section): Adjust calling sequence for
398 mips_elf_calculate_relocation and mips_elf_perform_relocation.
399 (mips_elf_perform_relocation): Turn `jal' into `jalx' where
400 required.
401
402 1999-07-15 Ian Lance Taylor <ian@zembu.com>
403
404 * configure.in: Bump version number to 2.9.5.
405 * configure: Rebuild.
406
407 Thu Jul 15 02:56:15 1999 Jeffrey A Law (law@cygnus.com)
408
409 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
410 64bit format.
411 (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
412 to derive final type instead of hardwiring a selection.
413
414 1999-07-14 Mark Mitchell <mark@codesourcery.com>
415
416 * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
417 things relocated by R_MIPS16_GPREL.
418 (mips_elf_perform_relocation): Likewise.
419
420 Wed Jul 14 15:23:19 1999 Jim Wilson <wilson@cygnus.com>
421
422 * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
423
424 1999-07-14 Richard Henderson <rth@cygnus.com>
425
426 * elf32-mips.c (struct mips_got_info): Add global_gotno.
427 (_bfd_mips_elf_size_dynamic_sections): Set it.
428 (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
429 (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
430 new argument max_local.
431
432 1999-07-14 Mark Mitchell <mark@codesourcery.com>
433
434 * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
435 subwords when handling an R_MIPS16_26 relocation.
436 (mips_elf_perform_relocation): Don't be paranoid abour right-shift
437 semantics.
438
439 * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
440 dst_mask to match reality.
441 (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
442 (mips_elf_obtain_contents): Use bfd_get.
443 (mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
444 (mips_elf_relocate_section): Likewise.
445
446 1999-07-13 Mark Mitchell <mark@codesourcery.com>
447
448 * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
449 (mips_elf_relocate_section): Adjust calling sequence for
450 mips_elf_perform_relocation.
451 (mips_elf_perform_relocation): Take additional argument. Handle
452 R_MIPS16_26. Use bfd_put for convenience.
453
454 1999-07-13 Richard Henderson <rth@cygnus.com>
455
456 * elf.c (assign_file_positions_for_segments): Thinko last change.
457 Always overwrite p_flags.
458
459 1999-07-13 Richard Henderson <rth@cygnus.com>
460
461 * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
462 * elflink.c (_bfd_elf_create_dynamic_sections): Only create
463 .dynbss and .rel[a].bss if want_dynbss.
464 * elfxx-target.h (elf_backend_want_dynbss): Provide default.
465
466 1999-07-13 Richard Henderson <rth@cygnus.com>
467
468 * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
469
470 1999-07-13 Richard Henderson <rth@cygnus.com>
471
472 * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
473 (struct elf_link_hash_table): Add dynlocal.
474 (_bfd_elf_link_lookup_local_dynindx): Prototype.
475 (_bfd_elf_link_adjust_dynindx): Delete.
476 (_bfd_elf_link_renumber_dynsyms): Prototype.
477 (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
478 * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
479 * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
480 (_bfd_elf_link_lookup_local_dynindx): New function.
481 (elf_link_renumber_hash_table_dynsyms): New function.
482 (_bfd_elf_link_renumber_dynsyms): New function.
483 * elflink.h (elf_link_record_local_dynamic_symbol): New function.
484 (struct elf_assign_sym_version_info): Delete removed_dynamic.
485 (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
486 instead of elf_link_remove_section_and_adjust_dynindices.
487 Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms.
488 (elf_link_assign_sym_version): Remove removed_dynamic code.
489 (elf_link_renumber_dynsyms): Delete.
490 (elf_bfd_final_link): Install section and local symbols into .dynsym.
491
492 * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
493 (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
494 (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
495 * elf32-mips.c: Similarly.
496 * elf32-ppc.c: Similarly.
497 * elf32-sparc.c: Similarly.
498 * elf64-alpha.c: Similarly.
499 * elf64-sparc.c: Similarly.
500
501 1999-07-13 Mark Mitchell <mark@codesourcery.com>
502
503 * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
504 when _gp_disp is undefined. Do not check R_MIPS_LO16 for overflow
505 when the relocation is against _gp_disp.
506
507 1999-07-12 Mark Mitchell <mark@codesourcery.com>
508
509 * dwarf2.c (read_attribute): Support DW_FORM_ref8.
510 * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
511 to possibly_dynamic_relocs. Adjust usage throughout code.
512 (elf_mips_howto_table): Handle R_MIPS_64 correctly.
513 (elf_mips_ctor64_howto): Likewise.
514 (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
515 Adjust indentation.
516 (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
517 (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
518 Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
519 * elf64-mips.c (elf_backend_may_use_rel_p): Define.
520
521 1999-07-12 Ian Lance Taylor <ian@zembu.com>
522
523 * Makefile.am: Rebuild dependencies.
524 * Makefile.in: Rebuild.
525
526 * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
527 * bfd-in2.h: Rebuild.
528
529 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
530 as appropriate. Use EMPTY_HOWTO as appropriate. Fill in
531 structure initializations. Add casts.
532 * reloc.c (EMPTY_HOWTO): Define.
533 * bfd-in2.h: Rebuild.
534 * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
535 comparisons against 0.
536 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
537 previous_ibfd_e_flags to unsigned long.
538 * vms.h (struct vms_private_data_struct): Change section_count to
539 unsigned.
540 * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
541 (_bfd_vms_write_gsd): Change symnum to unsigned.
542 * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
543 * vms-tir.c (etir_sta): Change psect to unsigned.
544 (alloc_section): Change idx to unsigned.
545 (tir_sta, tir_ctl): Change psect to unsigned.
546 (_bfd_vms_write_tir): Change len and before to bfd_size_type.
547 * vms.c (priv_section_count): Change to unsigned.
548
549 1999-07-12 Andreas Schwab <schwab@suse.de>
550
551 * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
552 * m68klinux.c: Likewise.
553
554 1999-07-12 Ian Lance Taylor <ian@zembu.com>
555
556 * Many files: Changes to avoid gcc warnings: Remove unused local
557 variables. Add default case to enum switches.
558 * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
559 compile if not COFF_IMAGE_WITH_PE.
560 (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
561 (bfd_arm_get_bfd_for_interworking): Likewise.
562 (bfd_arm_process_before_allocation): Likewise.
563 * epoc-pei-arm.c: Don't rename bfd_arm functions.
564 * pei-arm.c: Likewise.
565 * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
566 (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
567 (mips_elf_got16_entry): Put parens around & in body of ==.
568 (mips_elf_calculate_relocation): Correct test for empty string.
569 * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
570 stderr.
571 * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
572 format.
573
574 1999-07-11 Ian Lance Taylor <ian@zembu.com>
575
576 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
577 as appropriate. Fill in structure initializations. Add variable
578 initializations. Add casts.
579 * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
580 (dwarf1_unit_find_nearest_line): Change i to unsigned long.
581
582 * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
583 char *.
584 * elf-bfd.h (bfd_elf_hash): Update declaration.
585 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
586 when calling bfd_elf_hash.
587
588 1999-07-11 Mark Mitchell <mark@codesourcery.com>
589
590 * libbfd.c (bfd_put_8): Make it of type `void'.
591 * bfd-in2.h: Regenerated.
592 * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
593 for 32-bit hosts.
594 (_bfd_mips_elf_final_link): Likewise.
595
596 * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
597
598 Thu Jul 8 12:32:23 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
599
600 * config.bfd (hppa*-*-linux-gnu*): New target
601
602 1999-07-07 Mark Mitchell <mark@codesourcery.com>
603
604 * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
605 (_bfd_mips_elf_create_dynamic_sections): New function.
606 (_bfd_mips_elf_add_symbol_hook): Likewise.
607 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
608 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
609 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
610 (_bfd_mips_elf_gc_mark_hook): Likewise.
611 (_bfd_mips_elf_gc_sweep_hook): Likewise.
612 (_bfd_mips_elf_always_size_sections): Likewise.
613 (_bfd_mips_elf_size_dynamic_sections): Likewise.
614 (_bfd_mips_elf_check_relocs): Likewise.
615 (_bfd_mips_elf_link_hash_table_create): Likewise.
616 (_bfd_mips_elf_print_private_data): Likewise.
617 (_bfd_mips_elf_link_output_symbol_hook): Likewise.
618 (_bfd_mips_elf_final_link): Likewise.
619 (_bfd_mips_elf_additional_program_headers): Likewise.
620 (_bfd_mips_elf_modify_segment_map): Likewise.
621 (_bfd_mips_elf_relocate_section): Likewise.
622 * elf32-mips.c (mips_elf32_object_p): Move contents into
623 _bfd_mips_elf_object_p.
624 (mips_elf_additional_program_headers): Rename to
625 _bfd_mips_elf_additional_program_headers.
626 (mips_elf_modify_segment_map): Rename to
627 _bfd_mips_elf_modify_segment_map.
628 (elf_mips_abi_name): Change prototype.
629 (mips_elf32_section_from_shdr): Merge into
630 _bfd_mips_elf_section_from_shdr.
631 (mips_elf32_section_processing): Merge into
632 _bfd_mips_elf_section_processing.
633 (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke
634 the right back-end ELF linker.
635 (mips_elf_relocate_section): Rename to
636 _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code.
637 (mips_elf_link_output_symbol_hook): Rename to
638 _bfd_mips_elf_link_output_symbol_hook.
639 (mips_elf_create_dynamic_section): Rename to
640 _bfd_mips_elf_create_dynamic_section.
641 (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
642 Adjust for 64-bit code. Use mips_elf_got_section.
643 (mips_elf_adjust_dynamic_symbol): Rename to
644 _bfd_mips_elf_adjust_dynamic_symbol. Use
645 mips_elf_allocate_dynamic_relocations.
646 (mips_elf_finish_dynamic_symbol): Rename to
647 _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section.
648 Adjust for 64-bit code.
649 (mips_elf_finish_dynamic_sections): Rename to
650 _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code.
651 (mips_elf_always_size_sections): Rename to
652 _bfd_mips_elf_always_size_sections.
653 (mips_elf_add_symbol_hook): Rename to
654 _bfd_mips_elf_add_symbol_hook.
655 (mips_elf_next_lo16_addend): Constify.
656 (mips_elf_calculate_relocation): Likewise.
657 (mips_elf_obtain_contents): Likewise.
658 (mips_elf_perform_relocation): Likewise.
659 (mips_elf_create_dynamic_relocation): Likewise.
660 (mips_elf_allocate_dynamic_relocations): New function.
661 (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
662 (MIPS_ELF_REL_SIZE): Likewise.
663 (MIPS_ELF_DYN_SIZE): Likewise.
664 (MIPS_ELF_GOT_SIZE): Likewise.
665 (MIPS_ELF_SYM_SIZE): Likewise.
666 (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
667 (MIPS_ELF_GET_WORD): Likewise.
668 (MIPS_ELF_PUT_WORD): Likewise.
669 (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
670 (STUB_LW): Conditionalize for 64-bit value.
671 (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
672 entries.
673 (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
674 Check it for inconsistency.
675 (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
676 ABI.
677 (_bfd_mips_elf_fake_sections): Remove duplicate handling of
678 .msym.
679 (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
680 (mips_elf_got_offset_from_index): Use misp_elf_got_section.
681 (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
682 (mips_elf_local_got_index): Likewise.
683 (mips_elf_got_page): Likewise.
684 (mips_elf_got_info): Likewise.
685 (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
686 (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
687 (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
688 instead of constant `2'.
689 (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE.
690 (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
691 (mips_elf_size_dynamic_sections): Use
692 MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
693 MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code.
694 Adjust all releveant entries in elf backend table.
695 * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
696 (mips_elf64_section_processing): Likewise.
697 Adjust elf backend entries to use _bfd_mips_elf variants now
698 publicly available.
699
700 * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
701 hash-entry sizes.
702 (size_dynamic_sections): Likewise.
703 (elf_link_output_extsym): Likewise.
704 * elf.c: (elf_fake_sections): Likewise.
705 * libbfd.c (bfd_get): New macro.
706 (bfd_put): Likewise.
707 * bfd-in2.h: Regenerated.
708
709 1999-07-07 Mark Mitchell <mark@codesourcery.com>
710
711 * elf-bfd.h (elf_size_info): Add hash_entry_size,
712 int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
713 wap_reloca_in, and swap_reloca_out.
714 * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
715 multiple internal relocations per external relocation.
716 (link_read_relocs): Likewise.
717 (elf_bfd_final_link): Likewise.
718 (elf_link_input_bfd): Likewise.
719 (elf_gc_mark): Likewise.
720 (elf_gc_smash_unused_vtentry_relocs): Likewise.
721 * elfcode.h (elf_swap_dyn_out): Adjust type to match
722 elf_swap_dyn_in.
723 (size_info): Add entries for new fields.
724 * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
725 (mips_elf64_be_swap_reloc_in): New function.
726 (mips_elf64_be_swap_reloc_out): Likewise.
727 (mips_elf64_be_swap_reloca_in): Likewise.
728 (mips_elf64_be_swap_reloca_out): Likewise.
729 (mips_elf64_size_info): Add entries for new fields.
730
731 1999-07-07 Ian Lance Taylor <ian@zembu.com>
732
733 * elflink.h (elf_bfd_final_link): Assert that section reloc_count
734 field equals the new rel_count field.
735 (elf_link_input_bfd): When doing a relocateable link, use the new
736 rel_count field rather than the reloc_count field.
737 (elf_reloc_link_order): Likewise.
738 (elf_finish_pointer_linker_section): Likewise.
739
740 Based on patch from H.J. Lu <hjl@gnu.org>:
741 * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
742 shared library to override a weak definition in a regular object.
743
744 Tue Jul 6 10:23:39 1999 Jeffrey A Law (law@cygnus.com)
745
746 * libhppa.h: Revert July 2, 1999 patch.
747
748 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
749 need to generate DLTIND relocations, not DLTREL relocations.
750
751 1999-07-05 Nick Clifton <nickc@cygnus.com>
752
753 * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
754 architectures.
755 (coff_set_flags): Recognise arm 5 architectures.
756
757 * cpu-arm.c: Add support for strongarm and arm9 cpus.
758 Add support for armv5 architecture.
759
760 * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
761
762 * reloc.c: Add new, assembler only, ARM reloc:
763 BFD_RELOC_ARM_ADRL_IMMEDIATE.
764
765 * bfd-in2.h: Regenerate.
766
767 1999-07-02 Mark Mitchell <mark@codesourcery.com>
768
769 * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
770 (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
771 * elf.c (_bfd_elf_find_nearest_line): Pass it.
772 * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
773 * elf32-mips.c (ABI_64_P): New macro.
774 (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
775 (_bfd_mips_elf_find_nearest_line): Adjust call to
776 _bfd_dwarf2_find_nearest_line.
777 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
778 * libbfd.h: Regenerated.
779
780 1999-07-02 Ian Lance Taylor <ian@zembu.com>
781
782 * config.bfd: Add * at the end of i[3456]86-*-unixware.
783
784 Fri Jul 2 12:21:10 1999 Jeffrey A Law (law@cygnus.com)
785
786 * libhppa.h (HPPA_R_ARG_RELOC): Delete.
787 (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise.
788
789 1999-07-01 Mark Mitchell <mark@codesourcery.com>
790
791 * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
792 fields.
793 (_bfd_elf_init_reloc_shdr): New function.
794 * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
795 bfd_alloc followed by memset.
796 (_bfd_elf_init_reloc_shdr): New function, split out from ...
797 (elf_fake_sections): Here.
798 (assign_section_numbers): Assign section numbers for the second
799 relocation section, if required.
800 * elflink.h (elf_link_output_relocs): New function.
801 (elf_link_size_reloc_section): Likewise.
802 (elf_bfd_final_link): Use elf_link_size_reloc_section.
803 (elf_link_input_bfd): Use elf_link_output_relocs.
804
805 * elf32-mips.c (_bfd_mips_elf_fake_sections): Use
806 _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
807
808 Thu Jul 1 13:58:48 1999 Jeffrey A Law (law@cygnus.com)
809
810 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
811 with 22bit format.
812
813 1999-06-28 Mark Mitchell <mark@codesourcery.com>
814
815 * elf32-mips.c (mips_elf_got_info): Move declaration before
816 prototypes. Change global_gotsym to be a pointer to a hash entry,
817 rather than a number index.
818 (mips_elf_link_hash_entry): Move declaration before prototypes.
819 (mips_elf_irix6_finish_dynamic_symbol): New function.
820 (mips_elf_sign_extend): Likewise.
821 (mips_elf_high): Likewise.
822 (mips_elf_higher): Likewise.
823 (mips_elf_highest): Likewise.
824 (mips_elf_global_got_index): Likewise.
825 (mips_elf_local_got_index): Likewise.
826 (mips_elf_got_offset_from_index): Likeiwse.
827 (mips_elf_record_global_got_symbol): Likewise.
828 (mips_elf_got_page): Likewise.
829 (mips_elf_next_lo16_addend): Likewise.
830 (mips_elf_calculate_relocation): Likewise.
831 (mips_elf_obtain_contents): Likewise.
832 (mips_elf_perform_relocation): Likewise.
833 (mips_elf_assign_gp): Likewise.
834 (mips_elf_sort_hash_table_f): Likewise.
835 (mips_elf_sort_hash_table): Likewise.
836 (mips_elf_got_section): Likewise.
837 (mips_elf_got_info): Likewise.
838 (mips_elf_create_local_got_entry): Likewise.
839 (mips_elf_got16_entry): Likewise.
840 (mips_elf_create_dynamic_relocation): Likewise.
841 (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
842 (mips_elf_final_gp): Use mips_elf_assign_gp.
843 (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
844 into SHN_SCOMMON automatically on IRIX6.
845 (mips_elf_add_symbol_hook): Likewise.
846 (mips_elf_relocate_section): Rewrite, using
847 mips_elf_calculate_relocation and mips_elf_perform_relocation.
848 (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
849 Don't deal with .rld_map on IRIX6.
850 (mips_elf_create_got_section): Adjust use of global_gotsym. Set
851 section flags appropriately for .got.
852 (mips_elf_check_relocs): Handle IRIX6 relocations making use of
853 the got. Call mips_elf_record_global_got_symbol and allocate
854 local got space appropriately.
855 (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
856 char *. Rework calculation of GOT size. Sort dynamic symbol
857 table entries so entries that do not require GOT entries appear at
858 the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead
859 code dealing with DT_INIT and DT_FINI. Remove fiddling with
860 global_gotsym.
861 (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
862 entries.
863 (mips_elf_finish_dynamic_symbol): Use
864 mips_elf_irix6_finish_dynamic_symbol.
865 (mips_elf_finish_dynamic_sections): Correct off-by-one error
866 setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for
867 change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6.
868
869 1999-06-30 Ian Lance Taylor <ian@zembu.com>
870
871 * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a
872 relocateable link. From Ralf Baechle <ralf@uni-koblenz.de>.
873
874 1999-06-04 Philip Blundell <philb@gnu.org>
875
876 * elf32-arm.h (elf_backend_got_header_size): Define.
877 (elf_backend_plt_header_size): Likewise.
878
879 1999-06-28 Jim Pick <jim@jimpick.com>
880
881 * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined
882
883 Tue Jun 29 02:25:03 1999 Jeffrey A Law (law@cygnus.com)
884
885 * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
886 relocation function.
887 * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
888
889 1999-06-27 Mark Mitchell <mark@codesourcery.com>
890
891 * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
892 (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
893 (MIPS_ELF_STUB_SECTION_NAME): Likewise.
894 (_bfd_mips_elf_section_from_shdr): Use them.
895 (_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list
896 of GP-relative sections.
897 (_bfd_mips_elf_set_section_contents): Use them.
898 (_bfd_mips_elf_section_processing): Share code between .sdata and
899 .lit4/.lit8 sections. Set appropriate flags for .srdata.
900 (mips_elf_additional_program_headers): Add handling for
901 PT_MIPS_OPTIONS segment on IRIX6.
902 (mips_elf_modify_segment_map): Likeiwse.
903 (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
904 Include the options sections on IRIX6. Don't look for GP-relative
905 sections by name; use SHF_MIPS_GPREL instead.
906 (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
907 the N32 ABI.
908 (mips_elf_create_dynamic_sections): Don't muck about with section
909 alignments and such on IRIX6.
910 (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
911 (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
912 fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use
913 bfd_zalloc rather than bfd_alloc and memset.
914 (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
915 Don't assert the existence of .rld_map on IRIX6.
916 (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
917
918 * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
919 (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
920 instead.
921
922 1999-06-26 Mark Mitchell <mark@codesourcery.com>
923
924 * elf32-mips.c (mips_elf_swap_msym_in): New function.
925 (mips_elf_swap_msym_out): New function.
926 (mips_elf_create_msym_section): Likewise.
927 (MIPS_ELF_MSYM_SECTION_NAME): New macro.
928 (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
929 (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
930 section not named .msym.
931 (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
932 .msym directly. Set appropriate attributes for the .msym
933 section.
934 (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
935 (mips_elf_link_hash_newfunc): Clear it.
936 (mips_elf_create_dynamic_sections): Create the .msym section
937 on IRIX6.
938 (mips_elf_size_dynamic_sections): Allocate space for the
939 .msym section. Add a DT_MIPS_MSYM entry.
940 (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
941 the symbol.
942 (mips_elf_finish_dynamic_sections): Assign a value for
943 DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
944
945 * elf32-mips.c (irix_compat_t): New enumeration.
946 (ABI_N32_P): New macro.
947 (IRIX_COMPAT): Likewise.
948 (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
949 (mips_elf_relocate_section): Fix typo.
950
951 1999-06-26 Mumit Khan <khan@xraylith.wisc.edu>
952
953 * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
954 as writable PE sections.
955
956 1999-06-26 David Mosberger <davidm@hpl.hp.com>
957
958 * dwarf2.c (struct arange): New type.
959 (struct comp_unit): Replace LOW and HIGH by member ARANGE.
960 (arange_add): New function.
961 (decode_line_info): Keep track of address ranges that a compilation
962 unit covers.
963 (comp_unit_contains_address): Return true if address is contained
964 in _any_ of the address ranges associated with a compilation unit.
965 (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
966 on the first comp_unit that contains the address.
967
968 1999-06-26 David Mosberger <davidm@hpl.hp.com>
969
970 * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
971 (decode_line_info): Add variable STASH and initialize it to point
972 to the per-bfd dwarf2_debug info. Remove static variable
973 dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
974
975 1999-06-26 Ian Lance Taylor <ian@zembu.com>
976
977 * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
978 shared library to have an undefined symbol.
979
980 From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
981 * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
982
983 Thu Jun 24 20:59:11 1999 Jeffrey A Law (law@cygnus.com)
984
985 * elf-hppa.c (elf_hppa_final_write_processing): New function.
986 * elf32-hppa.c: Remove everything related to symbol extension
987 sections & records. Use the common elf_hppa_final_write_processing.
988
989 1999-06-22 Mark Mitchell <mark@codesourcery.com>
990
991 * elflink.h (size_dynamic_sections): Use user-specified init/fini
992 functions instead of _init/_fini if requested.
993
994 1999-06-23 Ian Lance Taylor <ian@zembu.com>
995
996 * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
997 field.
998
999 1999-06-22 Ian Lance Taylor <ian@zembu.com>
1000
1001 From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
1002 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
1003 field to 0, not -1.
1004 (ppc_elf_finish_dynamic_sections): Check for positive section
1005 dynindx field, rather than comparing against -1.
1006 (ppc_elf_relocate_section): Only return false if undefined_symbol
1007 or reloc_overflow fail, not always upon encountering an error.
1008
1009 1999-06-22 Mark Mitchell <mark@codesourcery.com>
1010
1011 * elflink.h (link_read_relocs): Explicitly cast external_relocs to
1012 bfd_byte * before performing pointer arithmetic.
1013
1014 Tue Jun 22 13:06:25 1999 Jeffrey A Law (law@cygnus.com)
1015
1016 * elf-hppa.h: New file. Common stuff for elf32 and elf64 PA
1017 support.
1018 * elf32-hppa.c: Include elf-hppa.h.
1019 (ARCH_SIZE): Define.
1020 (elf_hppa_reloc_type_lookup): Delete. Found in the common code
1021 now.
1022 (elf32_hppa_info_to_howto): Similarly.
1023 (elf_hppa_howto_table): Similarly.
1024 (elf_hppa_reloc_type_lookup): Similarly.
1025 (hppa_elf_gen_reloc_type): Similarly.
1026 * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
1027
1028 1999-06-22 Nick Clifton <nickc@cygnus.com>
1029
1030 * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
1031 handling R_V850_22_PCREL relocation.
1032
1033 1999-06-21 Ian Lance Taylor <ian@zembu.com>
1034
1035 * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
1036 type.
1037
1038 Sun Jun 20 14:13:57 1999 Richard Henderson <rth@cygnus.com>
1039
1040 * section.c (_bfd_strip_section_from_output): Ignore sections
1041 DISCARDed by the link script.
1042
1043 1999-06-19 Ian Lance Taylor <ian@zembu.com>
1044
1045 * elflink.h (elf_link_remove_section_and_adjust_dynindices):
1046 Remove unused local variable spp.
1047
1048 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
1049 the entry symbol is not set.
1050
1051 Fri Jun 18 04:24:57 1999 Richard Henderson <rth@cygnus.com>
1052
1053 * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
1054 GPDISP or LITUSE in a relocatable link.
1055
1056 Thu Jun 17 21:24:43 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1057
1058 * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
1059 * (alloc_dwarf1_func): Likewise.
1060
1061 Wed Jun 16 03:09:57 1999 Jeffrey A Law (law@cygnus.com)
1062
1063 * libhppa.h: Fix various formatting errors.
1064 (assemble_3); Rewrite using CATENATE.
1065 (assemble_17): Fix various bugs.
1066
1067 1999-06-16 Nick Clifton <nickc@cygnus.com>
1068
1069 * elf32-mcore.c (R_MCORE_RAW): Fix definition.
1070
1071 1999-06-15 Richard Henderson <rth@cygnus.com>
1072
1073 * section.c (SEC_SHORT): Define.
1074 * bfd-in2.h: Rebuild.
1075
1076 1999-06-13 Mark Mitchell <mark@codesourcery.com>
1077
1078 * elflink.h (elf_link_remove_section_and_adjust_dynindices):
1079 Remove abfd parameter. Use _bfd_strip_section_from_output.
1080 (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
1081
1082 * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
1083 * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
1084 * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
1085 function.
1086 (bfd_elf_size_dynamic_sections): Use it.
1087
1088 1999-06-13 Alan Modra <alan@spri.levels.unisa.edu.au>
1089
1090 * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
1091 complain_overflow_bitfield to complain_overflow_signed.
1092
1093 1999-06-13 Mark Mitchell <mark@codesourcery.com>
1094
1095 * elflink.h (elf_link_read_relocs_from_section): New function,
1096 split out from ...
1097 (elf_link_read_relocs): Here. Use it for both relocation
1098 sections.
1099
1100 1999-06-12 Mark Mitchell <mark@codesourcery.com>
1101
1102 * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
1103 asect->reloc_count is valid.
1104
1105 1999-06-12 Ian Lance Taylor <ian@zembu.com>
1106
1107 * elf32-mips.c (mips_elf32_section_processing): Permit a
1108 SHT_MIPS_REGINFO section to have a size of 0.
1109
1110 1999-06-12 David O'Brien <obrien@freebsd.org>
1111
1112 * config.bfd (alpha*-*-freebsd*): New target.
1113 (i[3456]86-*-freebsd*): Now defaults to ELF.
1114
1115 1999-06-11 Ian Lance Taylor <ian@zembu.com>
1116
1117 * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
1118 wrap if the relocation covers the high bit of an address.
1119
1120 * dwarf2.c (decode_line_info): Remove unused variable first_time.
1121
1122 1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
1123
1124 * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
1125 instead of R_SPARC_max.
1126 (sparc64_elf_info_to_howto): Likewise.
1127 * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
1128 (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
1129
1130 1999-06-07 Richard Henderson <rth@cygnus.com>
1131
1132 * section.c (_bfd_strip_section_from_output): Remove output
1133 sections with no initial link_order.
1134
1135 1999-06-07 Nick Clifton <nickc@cygnus.com>
1136
1137 * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
1138
1139 Mon Jun 7 11:49:43 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1140
1141 * Makefile.am (SOURCE_HFILES): Add missing headers.
1142 * Makefile.in: Regenerated.
1143
1144 1999-06-06 Mark Mitchell <mark@codesourcery.com>
1145
1146 * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
1147 the N32 ABI.
1148
1149 1999-06-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1150
1151 * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
1152 range undefweak symbols.
1153 * hash.c: Add missing comma after @xref{}
1154 * linker.c: Likewise.
1155
1156 1999-06-04 Nick Clifton <nickc@cygnus.com>
1157
1158 * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
1159 if not defined.
1160 * elf32-gen.c (ELF_MAXPAGESIZE): Define.
1161 * elf32-i860.c (ELF_MAXPAGESIZE): Define.
1162 * elf32-i960.c (ELF_MAXPAGESIZE): Define.
1163 * elf64-gen.c (ELF_MAXPAGESIZE): Define.
1164
1165 1999-06-04 Ian Lance Taylor <ian@zembu.com>
1166
1167 * Makefile.am: Rebuild dependencies.
1168 (BFD32_BACKENDS): Add dwarf1.lo.
1169 (BFD32_BACKENDS_CFILES): Add dwarf1.c.
1170 * Makefile.in: Rebuild.
1171
1172 1999-06-04 Nick Clifton <nickc@cygnus.com>
1173
1174 * Makefile.am: Add epoc-arm-pe target.
1175 * Makefile.in: Regenerate.
1176 * pe-arm.c: Only redefine interworking function names if they have
1177 not already been redefined.
1178 * pei-arm.c: Only redefine interworking function names if they have
1179 not already been redefined.
1180 * epoc-pe-arm.c: Redefine interworking function names to avoid a
1181 name space clash.
1182 * epoc-pei-arm.c: Redefine interworking function names to avoid a
1183 name space clash.
1184
1185 1999-06-03 Nick Clifton <nickc@cygnus.com>
1186
1187 * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
1188
1189 Fri Jun 4 10:05:11 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1190
1191 * elf.c (elf_fake_sections): Undo change of 1999-05-10.
1192
1193 Fri Jun 4 03:10:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1194
1195 * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
1196 start / stop for recalculating of r_addend of R_SH_SWITCH*.
1197
1198 Fri Jun 4 02:53:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1199
1200 * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
1201 in other text sections.
1202
1203 Fri Jun 4 02:29:34 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1204
1205 * libbfd.c (_bfd_generic_verify_endian_match): New function.
1206 * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
1207 * libbfd.h: Regenerate.
1208 * coff-sh.c (sh_merge_private_data): Delete.
1209 (coff_bfd_merge_private_bfd_data): Change to
1210 _bfd_generic_verify_endian_match.
1211 (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
1212
1213 1999-06-03 Ulrich Drepper <drepper@cygnus.com>
1214
1215 * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
1216
1217 1999-06-03 Ian Lance Taylor <ian@zembu.com>
1218
1219 * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
1220 prototype.
1221 (bfd_elf32_arm_process_before_allocation): Likewise.
1222 * bfd-in2.h: Rebuild.
1223
1224 1999-06-03 David Mosberger <davidm@hpl.hp.com>
1225
1226 * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
1227 track of end_sequence markers.
1228 (add_line_info): Add END_SEQUENCE arg.
1229 (decode_line_info): Don't try to infer lo_pc and hi_pc from the
1230 debug-line info---it doesn't work right if a compilation unit
1231 consists of multiple discontiguous code-sequences. It would be
1232 worthwhile to optimize for the common case where a compilation
1233 unit results in a contiguous set of code sequences, but this is
1234 quite tricky to get right for arbitrary DWARF2 files.
1235 (lookup_address_in_line_info_table): Don't use the last line entry
1236 for a compilation unit for anything with an address higher than
1237 this line entry. Also, check for end_sequence markers to
1238 correctly handle discontinuities.
1239 (_bfd_dwarf2_find_nearest_line): When checking previously loaded
1240 compilation units, check all compilation units with each->high==0
1241 just like when reading compilation units.
1242
1243 * dwarf2.c (decode_line_info): Initialize table->files and
1244 table->last_line to NULL to avoid segfaults due to random
1245 values in these members.
1246 (concat_filename): Check for out-of-range file number before
1247 indexing filename table. Segfaults suck.
1248
1249 * dwarf2.c (decode_line_info): Don't truncate address to least
1250 significant 32 bits (breaks 64 bit targets).
1251 (lookup_address_in_function_table): Ditto.
1252 (comp_unit_contains_address): Ditto.
1253
1254 1999-06-02 Mark Mitchell <Mark Mitchell <mark@codesourcery.com>>
1255
1256 * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
1257 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
1258 (mips_elf64_howto_table_rela): Likewise.
1259
1260 * elfcode.h (elf_slurp_reloc_table_from_section): New function,
1261 split out from ...
1262 (elf_slurp_reloc_table): Here. Use it to handle the case where a
1263 single section has two associated relocation sections.
1264
1265 1999-06-02 Mark Salter <msalter@cygnus.com>
1266
1267 * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
1268 COFF_WITH_PE defined.
1269
1270 1999-06-02 Nick Clifton <nickc@cygnus.com>
1271
1272 * pe-arm.c: Rename global arm interworking functions to avoid name
1273 collision when all targets BFD is built.
1274 * pei-arm.c: Ditto.
1275
1276 1999-05-31 Mark Mitchell <mark@codesourcery.com>
1277
1278 * elf-bfd.h (elf_backend_data): Remove use_rela_p. Add
1279 may_use_rel_p, may_use_rela_p, default_use_rela_p.
1280 (bfd_elf_section_data): Add use_rela_p.
1281 * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
1282 (_bfd_elf_new_section_hook): Likewise.
1283 (elf_fake_sections): Use may_use_rela_p, etc., instead of
1284 use_rela_p.
1285 (_bfd_elf_copy_private_section_data): Copy use_rela_p.
1286 * elfcode.h (write_relocs): Determine whether or not use rela
1287 relocs based on the relocation section header.
1288 * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
1289 instead of use_rela_p.
1290 * elfxx-target.h (elf_backend_may_use_relp): New macro.
1291 (elf_backend_may_use_rela_p): Likewise.
1292 (elf_backend_default_use_rela_p): Likewise.
1293 (elfNN_bed): Use them.
1294
1295 Wed Jun 2 12:38:49 1999 Miodrag Vallat <miodrag@multimania.com>
1296
1297 * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
1298
1299 Tue Jun 1 17:57:58 1999 Mark P. Mitchell <mitchell@n02.acl.lanl.gov>
1300
1301 * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
1302 (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
1303 (BFD_RELOC_MIPS_GOT_OFST): Likewise.
1304 (BFD_RELOC_MIPS_GOT_DISP): Likewise.
1305 * bfd-in2.h: Regenerated.
1306 * libbfd.h: Likewise.
1307 * elf32-mips.c (mips_info_to_howto_rela): New function.
1308 (USE_REL): Adjust for new conventions.
1309 (MINUS_ONE): New macro.
1310 (elf_mips_howto_table): Add R_MIPS_SUB.
1311 (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
1312 and MIPS_GOT_DISP.
1313 (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
1314 .MIPS.content section.
1315 (_bfd_mips_elf_fake_sections): Treat all sections that begin
1316 with .MIPS.content as .MIPS.content sections. Set
1317 SHF_MNIPS_NOSTRIP for such section.
1318 (elf_info_to_howto): Define to mips_info_to_howto_rela.
1319 * elf64-mips.c (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE,
1320 MIPS_GOT_OFST, and MIPS_GOT_DISP.
1321
1322 Wed Jun 2 11:51:12 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1323
1324 * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
1325 variable.
1326
1327 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
1328 `else'.
1329
1330 1999-05-30 Philip Blundell <philb@gnu.org>
1331
1332 * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
1333 1993-03-25 (!!). Take into account the bitmasks for the reloc so
1334 the addend does not overflow into the rest of the word.
1335
1336 1999-05-29 Nick Clifton <nickc@cygnus.com>
1337
1338 * bfd-in.h: Amend prototype for
1339 bfd_elf32_arm_process_before_allocation .
1340 * bfd-in.h: Regenerate.
1341
1342 * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
1343 elements in a fixed sized array.
1344 (ARM_ELF_ABI_VERSION): Define.
1345 (ARM_ELF_OS_ABI_VERSION): Define.
1346 (R_ARM_THM_ABS5): Fix rightshift and size.
1347 (R_ARM_THM_PC22): Fix size.
1348 (R_ARM_PLT32): Define Howto.
1349 (find_howto): New function: Locate a howto based on a reloc
1350 number.
1351 (elf32_arm_info_to_howto): Use find_howto if necessary.
1352 (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
1353 bfd_reloc_code_real_type.
1354 (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
1355 and BFD_RELOC_VTABLE_ENTRY.
1356 (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
1357
1358 * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
1359 elements in a fixed sized array.
1360 (ARM_ELF_ABI_VERSION): Define.
1361 (ARM_ELF_OS_ABI_VERSION): Define.
1362 (R_ARM_THM_ABS5): Fix rightshift and size.
1363 (R_ARM_THM_PC22): Fix size.
1364 (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
1365 (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
1366 bfd_reloc_code_real_type.
1367
1368 * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
1369 no_pipeline_knowledge.
1370 (elf32_arm_link_hash_create): Initialise new field to zero.
1371 (bfd_elf32_arm_process_before_allocation): Add new paraemter:
1372 no_pipeline_knowledge. Use this parameter to initialise the field
1373 in the globals data structure.
1374 (elf32_arm_final_link_relocate): Only add in pipeline offset if
1375 no_pipeline_knowledge is false and the binary is from an old
1376 toolchain.
1377 (elf32_arm_merge_private_data): Generate an error if an attempt is
1378 made to linl together big endian and little endian code.
1379 (elf32_arm_post_process_headers): New function: Initialise the
1380 EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
1381 header.
1382 (elf_backend_post_process_headers): Define.
1383
1384 1999-05-28 Nick Clifton <nickc@cygnus.com>
1385
1386 * elf-bfd.h (struct elf_backend_data): Add new field:
1387 elf_backend_post_process_headers.
1388
1389 * elfxx-target.h (elf_backend_post_process_headers): Define to
1390 NULL if not already defined.
1391 (elfNN_bed): Initialise elf_backend_post_process_headers field.
1392
1393 * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
1394 to zero.
1395 (_bfd_elf_compute_section_file_positions): Call
1396 elf_backend_post_process_headers if defined.
1397
1398 1999-05-28 Ian Lance Taylor <ian@zembu.com>
1399
1400 * configure.in: Check whether getuid and getgid exist.
1401 * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
1402 HAVE_GETGID are not defined, respectively.
1403 (bfd_write_armap): Don't special case on _WIN32 for getuid and
1404 getgid.
1405 * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
1406 * configure, config.in: Rebuild.
1407
1408 1999-05-28 Martin Dorey <mdorey@madge.com>
1409
1410 * elf32-i960.c: New file.
1411 * elf.c (prep_headers): Handle bfd_arch_i960.
1412 * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
1413 * config.bfd (i960-*-elf*): New target.
1414 * configure.in (bfd_elf32_i960_vec): New target vector.
1415 * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
1416 (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
1417 * Makefile.in, aclocal.m4, configure: Rebuild.
1418
1419 1999-05-27 Nick Clifton <nickc@cygnus.com>
1420
1421 * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
1422 R_ARM_PLT32.
1423 (find_howto): New function: Find entries in the
1424 elf32_arm_howto_table.
1425 (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
1426 computed simply.
1427 (elf32_arm_reloc_type_lookup): Add lookup for
1428 BFD_RELOC_ARM_PLT32.
1429
1430 1999-05-25 Philip Blundell <pb@nexus.co.uk>
1431
1432 * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
1433 (elf32_arm_link_hash_table_create): Use above function as the
1434 constructor for hash table entries.
1435 (elf32_arm_relocate_section): Avoid crash when there is no output
1436 section.
1437 (elf32_arm_final_link_relocate): New parameter h.
1438 (elf32_arm_relocate_section): Pass symbol hash entry to above
1439 routine.
1440 (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
1441 comments.
1442
1443 1999-05-25 Catherine Moore <clm@cygnus.com>
1444
1445 * coff-arm.c (coff_arm_relocate_section): Don't emit
1446 base file entries for pc-relative values.
1447
1448 1999-05-25 DJ Delorie <dj@cygnus.com>
1449
1450 * peicode.h (coff_swap_sym_in): When we create the actual section
1451 to reflect the not-there section C_SECTION symbols refer to,
1452 change the symbol class to C_STAT as the section is now really
1453 there.
1454
1455 1999-05-24 Philip Blundell <pb@nexus.co.uk>
1456
1457 * elf32-arm.h (elf32_arm_relocate_section): Undo change of
1458 1999-03-25.
1459
1460 Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
1461
1462 * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
1463 F_PIC_INT to F_PIC.
1464 * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
1465 F_ARM_3M labels. Changed F_PIC_INT to F_PIC.
1466
1467 1999-05-16 Nick Clifton <nickc@cygnus.com>
1468
1469 * coff-mcore.c (in_reloc_p): Reinstate.
1470
1471 1999-05-15 Nick Clifton <nickc@cygnus.com>
1472
1473 * reloc.c (BFD_RELOC_MCORE_RVA): Define.
1474 * bfd-in2.h: Regenerate.
1475 * coff-mcore.c (in_reloc_p): Remove defintion.
1476 (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
1477 (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
1478 IMAGE_REL_MCORE_RVA.
1479 (coff_mcore_rtype_to_howto): Add special processing for
1480 IMAGE_REL_MCORE_RVA.
1481 (coff_mcore_relocate_section): Add support for
1482 IMAGE_REL_MCORE_RVA.
1483 * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
1484 (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
1485 R_MCORE_RELATIVE.
1486 (mcore_elf_relocate_section): Delete redundant case labels.
1487
1488 Fri May 14 10:59:55 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1489
1490 * elf32-arm.h (elf32_arm_relocate_section): Fix operator
1491 precedence between bit-and and comparison.
1492
1493 Thu May 13 09:45:23 1999 Joel Sherrill (joel@OARcorp.com)
1494
1495 * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
1496 list of target formats (targ_selvecs).
1497 (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
1498 (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
1499
1500 1999-05-10 DJ Delorie <dj@cygnus.com>
1501
1502 * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
1503 reasonable mode until "ar x" is smart enough to skip it (fixes
1504 gcc/libgcc.a builds on mips-ecoff targets
1505
1506 * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
1507 to work. Hack to support MS import libraries, which use different
1508 COMDAT types than GNU.
1509 (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
1510 to implied zero-length sections (see peicode below)
1511 * coffgen.c (coff_get_normalized_symtab): Properly read long MS
1512 filename symbols, which use one *or more* auxents.
1513 * coffswap.h (coff_swap_aux_in): ditto
1514 * peicode.h (coff_swap_sym_in): Build the implied zero-length
1515 sections
1516
1517 Tue May 11 15:51:58 1999 Jeffrey A Law (law@cygnus.com)
1518
1519 * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
1520 for all relocations.
1521
1522 1999-05-10 Catherine Moore <clm@cygnus.com>
1523
1524 * bfd-in.h (bfd_arm_allocate_interworking_sections): Static
1525 if COFF_IMAGE_WITH_PE.
1526 (bfd_arm_process_before_allocation): Likewise.
1527 (bfd_arm_get_bfd_for_interworking): Likewise.
1528 * coff-arm.c: Likewise.
1529 * bfd-in2.h: Regenerate.
1530 * configure.in (armpe_little_vec): Remove coff-arm.lo.
1531 (armpe_big_vec): Likewise.
1532 * configure: Rebuild.
1533
1534 1999-05-10 Nick Clifton <nickc@cygnus.com>
1535
1536 * elf.c (elf_fake_sections): Check for .rel. as start of rel
1537 section, not just .rel. Same for .rela.
1538
1539 1999-05-07 Nick Clifton <nickc@cygnus.com>
1540
1541 * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
1542 endianism with an error message.
1543
1544 Thu May 6 17:09:09 1999 Fred Fish <fnf@be.com>
1545
1546 * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
1547 assignment from "unsigned char *" to "char *".
1548 (decode_line_info): Likewise for dwarf_line_buffer assignment.
1549
1550 1999-05-05 Catherine Moore <clm@cygnus.com>
1551
1552 * coff-arm.c (coff_arm_relocate_section): Add one to
1553 address of ARM_RVA32 thumb functions.
1554
1555 1999-05-05 Catherine Moore <clm@cygnus.com>
1556
1557 * elf32-m68k.c (elf32_m68k_set_private_flags): New.
1558 (elf32_m68k_copy_private_bfd_data): New.
1559 (elf32_m68k_merge_private_bfd_data): New.
1560 (elf32_m68k_print_private_bfd_data): New.
1561 (CPU32_FLAG): Define.
1562 (PLT_CPU32_ENTRY_SIZE): Define.
1563 (elf_cpu32_plt0_entry): Declare.
1564 (elf_cpu32_plt_entry): Declare.
1565 (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
1566 (elf_m68k_finish_dynamic_symbol): Likewise.
1567 (elf_m68k_finish_dynamic_sections): Likewise.
1568 (elf_backend_plt_header_size): Remove definition.
1569 (bfd_elf32_bfd_copy_private_bfd_data): Define.
1570 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1571 (bfd_elf32_bfd_set_private_flags): Define.
1572 (bfd_elf32_bfd_print_private_bfd_data): Define.
1573
1574 Mon May 3 09:24:49 1999 Jeffrey A Law (law@cygnus.com)
1575
1576 * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
1577 and R_LONG_PCREL_MODE.
1578
1579 1999-04-29 Nick Clifton <nickc@cygnus.com>
1580
1581 * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
1582
1583 Fri Apr 28 16:36:19 1999 Stan Cox <scox@cygnus.com>
1584
1585 * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
1586 in relocation calculation.
1587
1588 1999-04-26 Tom Tromey <tromey@cygnus.com>
1589
1590 * aclocal.m4, configure: Updated for new version of libtool.
1591
1592 1999-04-21 Nick Clifton <nickc@cygnus.com>
1593
1594 * coff-mcore.c: Add support for mcore relocs.
1595
1596 1999-04-20 Gavin Romig-Koch <gavin@cygnus.com>
1597
1598 * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
1599 incorrect use EF_MIPS_xxBITPTRS.
1600
1601 1999-04-18 Ian Lance Taylor <ian@zembu.com>
1602
1603 * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
1604 variable insn.
1605
1606 * bfd-in2.h: Rebuild.
1607 * libbfd.h: Rebuild.
1608
1609 Sat Apr 17 20:55:15 1999 Catherine Moore <clm@cygnus.com>
1610
1611 * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
1612 (coff_arm_relocate_section): Add ARM26D transform. Only
1613 change to ARM26D for relocateable links.
1614
1615 1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
1616
1617 * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
1618 (bfd_elf32_bfd_print_private_bfd_data): New.
1619
1620 1999-04-15 Doug Evans <devans@casey.cygnus.com>
1621
1622 * elf32-arm.h (elf32_arm_final_link_relocate): For R_ARM_THM_ABS5,
1623 refetch addend if USE_REL, add many comments regarding current state.
1624 For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
1625 * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
1626 size and rightshift. For R_ARM_THM_PC22, fix bitsize.
1627 * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
1628
1629 Wed Apr 14 14:33:08 1999 Richard Henderson <rth@cygnus.com>
1630
1631 * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
1632 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
1633
1634 1999-04-13 David Mosberger <davidm@hpl.hp.com>
1635
1636 * dwarf2.c (decode_line_info): Don't truncate address to least
1637 significant 32 bits (breaks 64 bit targets).
1638 (lookup_address_in_function_table): Ditto.
1639 (comp_unit_contains_address): Ditto.
1640
1641 Tue Apr 13 21:27:19 1999 Catherine Moore <clm@cygnus.com>
1642
1643 * coff-arm.c (arm_emit_base_file_entry): New routine.
1644 (A2T3_OFFSET): Define.
1645 (T2A3_OFFSET): Define.
1646 (coff_arm_relocate_section): Emit base file entries for interworking
1647 stubs.
1648
1649 1999-04-13 Philip Blundell <philb@gnu.org>
1650
1651 * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
1652 relocs 17 through 19.
1653
1654 Sun Apr 11 01:25:17 1999 Richard Henderson <rth@cygnus.com>
1655
1656 * elfcode.h: Remove fnmatch.h.
1657 * elflink.h (elf_link_assign_sym_version): Call back to ld
1658 instead of calling fnmatch.
1659
1660 * config.bfd (i?86-*-beoself): Include pe vecs.
1661
1662 Sun Apr 11 01:14:06 1999 Richard Henderson <rth@cygnus.com>
1663
1664 * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
1665 to go missing.
1666
1667 1999-04-10 Richard Henderson <rth@cygnus.com>
1668
1669 * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
1670 when trying to resolve dynamic symbol references.
1671 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1672 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1673 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1674 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1675 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1676 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1677 * elflink.h (elf_link_output_extsym): Likewise.
1678
1679 Sat Apr 10 15:12:09 1999 Richard Henderson <rth@cygnus.com>
1680
1681 * section.c (_bfd_strip_section_from_output): New function moved from
1682 * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
1683 * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
1684 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1685 * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
1686 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1687 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1688 * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
1689 * bfd-in2.h: Update.
1690
1691 1999-04-09 Ian Lance Taylor <ian@zembu.com>
1692
1693 * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
1694
1695 1999-04-08 Nick Clifton <nickc@cygnus.com>
1696
1697 * coff-mcore.c: New File: Support for mcore-pe targets.
1698 * cpu-mcore.c: New File: Support for mcore targets.
1699 * elf32-mcore.c: New File: Support for mcore-elf target.
1700 * pe-mcore.c: New File: Definitions for mcore-pe target.
1701 * pei-mcore.c: New File: Definitions for mcore-pei target.
1702 * Makefile.am: Add support for MCore targets.
1703 * Makefile.in: Regenerate.
1704 * config.bfd: Add support for MCore targets.
1705 * configure.in: Add support for MCore targets.
1706 * configure: Regenerate.
1707 * archures.c: Add support for MCore architecture.
1708 * bfd-in2.h: Regenerate.
1709 * coffcode.h: Add support for mcore-pe targets.
1710 * elf.c: Add support for mcore-elf target.
1711 * reloc.c: Add support for MCore relocs.
1712 * targets.c: Add support for MCore targets.
1713
1714 1999-04-07 Nick Clifton <nickc@cygnus.com>
1715
1716 * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
1717 R_ARM_XPC25 and R_ARM_THM_XPC22.
1718 (elf32_arm_reloc_map): Remove redundant entries.
1719
1720 1999-04-06 Ian Lance Taylor <ian@zembu.com>
1721
1722 * sysdep.h (LC_MESSAGES): Never define.
1723
1724 1999-04-06 Chris Torek <torek@bsdi.com>
1725
1726 * reloc.c (bfd_check_overflow): Add addrsize parameter. Change
1727 all callers. Rewrite completely.
1728 (_bfd_relocate_contents): Rewrite overflow checking.
1729 * bfd-in2.h: Rebuild.
1730
1731 1999-04-05 Ian Lance Taylor <ian@zembu.com>
1732
1733 From Gabriel Paubert <paubert@iram.es>:
1734 * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
1735 R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
1736 Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
1737 have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
1738 * ppcboot.c (ppcboot_vec): Use little endian routines for
1739 headers.
1740
1741 * elf.c (elfcore_strndup): Only define if it will be used.
1742 * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
1743 and irelend.
1744 (ppc_elf_check_relocs): Remove unused local i.
1745 (ppc_elf_gc_mark_hook): Add default case to switch.
1746
1747 From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>:
1748 * srec.c (srec_scan): Accept \r in symbol definitions.
1749 (srec_object_p): Set HAS_SYMS if we saw any symbols.
1750 (symbolsrec_object_p): Likewise.
1751
1752 1999-04-04 Don Bowman <don@pixsci.com>
1753
1754 * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
1755
1756 1999-04-04 Ian Lance Taylor <ian@zembu.com>
1757
1758 * dwarf1.c (parse_line_table): Remove unused locals last_pc and
1759 last_line.
1760 * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
1761 * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
1762 switch.
1763 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
1764 local i.
1765 * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
1766 local val.
1767
1768 1999-03-31 Nick Clifton <nickc@cygnus.com>
1769
1770 * config.bfd: Add support for arm-epoc-pe target.
1771 * configure.in: Add support for arm-epoc-pe target.
1772 * configure: Regenerate.
1773 * targets.c: Add support for arm-epoc-pe target.
1774 * coff-arm.c: Allow header files to override definition of
1775 TARGET_UNDERSCORE and USER_LABEL_PREFIX.
1776 * pe-arm.h: Allow previous header files to override definition of
1777 TARGET_LITTLE_SYM and TARGET_BIG_SYM.
1778 * pei-arm.h: Allow previous header files to override definition of
1779 TARGET_LITTLE_SYM and TARGET_BIG_SYM.
1780 * epoc-pe-arm.c: New file. Support arm-epoc-pe target.
1781 * epoc-pei-arm.c: New file. Support arm-epoc-pei target.
1782
1783 1999-03-30 Nick Clifton <nickc@cygnus.com>
1784
1785 * elf.c (elf_map_symbols): Handle the case where section
1786 symbols are generated for content-less sections which are
1787 not mapped to the output file.
1788
1789 * linker.c: Replace direct references to fields in BFD structure
1790 with accessor macros.
1791
1792 * elflink.h: Replace direct references to fields in BFD structure
1793 with accessor macros.
1794
1795 1999-03-25 Philip Blundell <pb@nexus.co.uk>
1796
1797 * config.bfd: Eliminate redundancy in checks for Linux/ARM.
1798
1799 * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
1800 account when adjusting section symbols during a partial link.
1801
1802 1999-03-24 Nick Clifton <nickc@cygnus.com>
1803
1804 * coff-sparc.c (struct coff_reloc_map): Change type of field
1805 'bfd_reloc_val' to bfd_reloc_code_real_type.
1806 * elf-m10200.c (struct mn10200_reloc_map): Ditto.
1807 * elf-m10300.c (struct mn10300_reloc_map): Ditto.
1808 * elf32-arc.c (struct arc_reloc_map): Ditto.
1809 * elf32-d10v.c (struct d10v_reloc_map): Ditto.
1810 * elf32-d30v.c (struct d30v_reloc_map): Ditto.
1811 * elf32-fr30.c (struct fr30_reloc_map): Ditto.
1812 * elf32-m32r.c (struct m32r_reloc_map): Ditto.
1813 * elf32-sh.c (struct elf_reloc_map): Ditto.
1814 * elf32-sparc.c (struct elf_reloc_map): Ditto.
1815 * elf32-v850.c (struct v850_reloc_map): Ditto.
1816 * elf64-sparc.c (struct elf_reloc_map): Ditto.
1817 * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
1818 * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
1819
1820 1999-03-17 Martin Hunt <hunt@cygnus.com>
1821
1822 * syms.c (_bfd_stab_section_find_nearest_line): Changed this
1823 function so source-level assembly works. If multiple N_SOs
1824 are seen without and N_FUNs, create an indextable entry with
1825 a NULL function name.
1826
1827 1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
1828
1829 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
1830 of certian similar cpus.
1831
1832 1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
1833
1834 * elf32-mips.c (_bfd_mips_elf_final_write_processing):
1835 Add the 5000. Change the architecture for the 5400 to mips4.
1836 (elf_mips_mach): Add r5000.
1837
1838 1999-03-11 Doug Evans <devans@casey.cygnus.com>
1839
1840 * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
1841
1842 1999-03-11 Nick Clifton <nickc@cygnus.com>
1843
1844 * binary.c (binary_set_section_contents): Generate warning about
1845 huge file offsets for any section that will occupy file space, not
1846 just those that are loadable.
1847
1848 1999-02-24 Jim Blandy <jimb@zwingli.cygnus.com>
1849
1850 * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
1851
1852 1999-02-22 Jim Lemke <jlemke@cygnus.com>
1853
1854 * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
1855
1856 Mon Feb 22 18:26:51 1999 Ian Lance Taylor <ian@cygnus.com>
1857
1858 * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
1859 * elflink.h: Revert all changes since Feb 16. Instead:
1860 (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
1861 appropriate. Copy it to version symbols.
1862 (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
1863 symbols if appropriate.
1864 (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
1865 symbol if appropriate.
1866 (elf_link_output_extsym): If symbol is marked as undefined, and
1867 has no nonweak references, mark it as weak undefined.
1868
1869 Fri Feb 19 16:01:12 1999 Ian Lance Taylor <ian@cygnus.com>
1870
1871 * elflink.h (elf_merge_symbol): When overriding a dynamic
1872 definition with a weak undefined symbol, set NEEDS_PLT if it is a
1873 function.
1874 (elf_link_add_object_symbols): Don't copy the other field if we
1875 are overridding.
1876
1877 Thu Feb 18 18:07:43 1999 Ian Lance Taylor <ian@cygnus.com>
1878
1879 * elflink.h (elf_merge_symbol): Do not merge any symbol from a
1880 shared object with a weak undefined symbol.
1881
1882 1999-02-18 Nick Clifton <nickc@cygnus.com>
1883
1884 * elfarm-nabi.c: Set partial_inplace back to false.
1885
1886 1999-02-17 Nick Clifton <nickc@cygnus.com>
1887
1888 * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
1889 (USER_LABEL_PREFIX): Set to "_".
1890
1891 The following patches are from: Scott Bambrough
1892 <scottb@corelcomputer.com>
1893
1894 * libaout.h (M_ARM6_NETBSD): Set to 143.
1895
1896 * reloc.c: Add ARM PIC relocs: BFD_RELOC_ARM_GOT12,
1897 BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
1898 BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
1899 BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
1900 * bfd-in2.h: Regenerate.
1901
1902 * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
1903 'true' as REL relocs are now being used. Add new PIC relocs:
1904 R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
1905 R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
1906
1907 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
1908 of targets.
1909 (elf32_arm_final_link_relocate): Change parameters so that entire
1910 reloc is passed. Add support for PIC relocs.
1911 (elf32_arm_relocate_section): Pass entire reloc to
1912 elf32_arm_final_link_relocate.
1913 (elf32_arm_check_relocs): Handle new PIC relocs.
1914 (elf32_arm_adjust_dynamic_symbol): New function.
1915 (elf32_arm_size_dynamic_sections): New function.
1916 (elf32_arm_discard_copies): New function.
1917 (elf32_arm_finish_dynamic_symbol): New function.
1918 (elf32_arm_finish_dynamic_sections): New function.
1919 (ELF_MAXPAGE_SIZE): Define.
1920 (bfd_elf32_bfd_reloc_type_lookup): Define.
1921 (elf_backend_relocate_section): Define.
1922 (elf_backend_adjust_dynamic_symbol): Define.
1923 (elf_backend_create_dynamic_sections): Define.
1924 (elf_backend_finish_dynamic_symbol): Define.
1925 (elf_backend_finish_dynamic_sections): Define.
1926 (elf_backend_size_dynamic_sections): Define.
1927 (elf_backend_plt_readonly): Define.
1928 (elf_backend_want_got_plt): Define.
1929 (elf_backend_want_plt_sym): Define.
1930
1931 Wed Feb 17 12:02:26 1999 Stan Cox <scox@cygnus.com>
1932
1933 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
1934 sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
1935 (_bfd_mips_elf_fake_sections): Likewise.
1936
1937 Wed Feb 17 12:07:23 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1938
1939 * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
1940 bfd_elf32_arm_get_bfd_for_interworking,
1941 bfd_elf32_arm_process_before_allocation): Define to avoid clash
1942 with elfarm-nabi.c.
1943
1944 * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
1945 (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
1946 elf32_arm_find_nearest_line): Make them static.
1947
1948 Tue Feb 16 22:44:37 1999 Ian Lance Taylor <ian@cygnus.com>
1949
1950 * elflink.h (elf_merge_symbol): Add pflags parameter. Change all
1951 callers. Do not merge a definition from a shared object with a
1952 weak undefined symbol.
1953 (elf_link_add_object_symbols): Do not change the symbol type or
1954 size if the old symbol overrides the new one.
1955
1956 1999-02-08 Nick Clifton <nickc@cygnus.com>
1957
1958 * config.bfd: Add support for strongarm target.
1959
1960 Mon Feb 8 11:18:14 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1961
1962 * elf32-m68k.c (reloc_map): Use the correct types for the struct
1963 fields instead of unsigned char.
1964
1965 Fri Feb 5 00:22:36 1999 Ian Lance Taylor <ian@cygnus.com>
1966
1967 * Makefile.am: Rebuild dependencies.
1968 * Makefile.in: Rebuild.
1969
1970 Thu Feb 4 22:30:13 1999 Ian Lance Taylor <ian@cygnus.com>
1971
1972 * configure.in: Change AC_PREREQ to 2.13. Remove AM_CYGWIN32.
1973 Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
1974 AC_PROG_INSTALL. Add comments to uses of AC_DEFINE.
1975 * acinclude.m4: Add comments to uses of AC_DEFINE.
1976 * acconfig.h: Remove.
1977 * configure: Rebuild with current autoconf/automake.
1978 * aclocal.m4: Likewise.
1979 * config.in: Likewise.
1980 * Makefile.in: Likewise.
1981
1982 1999-02-04 DJ Delorie <dj@cygnus.com>
1983
1984 * libbfd.c (real_read): don't call fread for zero bytes. This
1985 covers up a bug (or misuse of bfd) that's exposed by Solaris.
1986
1987 Thu Feb 4 12:38:10 1999 Stan Cox <scox@cygnus.com>
1988
1989 * elf32-mips.c (mips_elf_relocate_section): Insure that the target
1990 of a jump is in the current 256 MB region.
1991
1992 Thu Feb 4 12:15:38 1999 Ian Lance Taylor <ian@cygnus.com>
1993
1994 * format.c (bfd_check_format_matches): Change last patch to only
1995 take effect for the binary target.
1996
1997 Wed Feb 3 19:40:12 1999 Ian Lance Taylor <ian@cygnus.com>
1998
1999 * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
2000
2001 Wed Feb 3 15:02:44 1999 Catherine Moore <clm@cygnus.com>
2002
2003 * elf32-fr30.c (fr30_elf_check_relocs): New routine.
2004
2005 Tue Feb 2 21:38:28 1999 Ian Lance Taylor <ian@cygnus.com>
2006
2007 * format.c (bfd_check_format_matches): If the target was
2008 previously specified, don't check other targets when checking for
2009 an archive file.
2010
2011 Tue Feb 2 18:16:43 1999 Catherine Moore <clm@cygnus.com>
2012
2013 * elf32-arm.h (elf32_arm_reloc_map): Removed.
2014 (elf32_arm_reloc_type_lookup): Removed
2015 * elfarm-nabi.c (elf32_arm_reloc_map): New.
2016 (elf32_arm_reloc_type_lookup): New.
2017 * elfarm-oabi.c (elf32_arm_reloc_map): New.
2018 (elf32_arm_reloc_type_lookup): New.
2019
2020 Mon Feb 1 19:49:21 1999 Catherine Moore <clm@cygnus.com>
2021
2022 * elfarm-nabi.c: Renamed from elf32-arm-newabi.c.
2023 * elfarm-oabi.c: Renamed from elf32-arm-oldabi.c
2024 * Makefile.am: Use new files.
2025 * Makefile.in: Regenerate.
2026 * configure.in: Use new files.
2027 * configure: Regenerate.
2028
2029 1999-02-01 Nick Clifton <nickc@cygnus.com>
2030
2031 * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
2032 (fr30_elf_gc_sweep_hook): New function.
2033 (elf_backend_can_gc_sections): Define.
2034
2035 Mon Feb 1 12:21:47 1999 Catherine Moore <clm@cygnus.com>
2036
2037 * targets.c (bfd_target_vector): Add bfd_elf32_littlearm_oabi_vec
2038 and bfd_elf32_bigarm_oabi_vec.
2039
2040 Mon Feb 1 11:46:31 1999 Catherine Moore <clm@cygnus.com>
2041
2042 * Makefile.am (elf32-arm-oldabi.lo): New.
2043 (elf32-arm-newabi.lo): New.
2044 * Makefile.in: Regenerate.
2045 * config.bfd (thumb-*-elf): Remove definition of targ_underscore.
2046 (arm-*-elf): Likewise.
2047 (arm-*-oabi): New.
2048 (thumb-*-oabi): New.
2049 * configure: Regenerate.
2050 * configure.in (bfd_elf32_littlearm_oabi_vec): New.
2051 (bfd_elf32_bigarm_oabi_vec): New.
2052 * elf32-arm-newabi.c: New.
2053 * elf32-arm-oldabi.c: New.
2054 * elf32-arm.c: Removed.
2055 * elf32-arm.h: New.
2056
2057 Mon Feb 1 11:52:12 1999 Frank Ch. Eigler <fche@cygnus.com>
2058
2059 * binary.c (binary_set_section_contents): Omit warnings for
2060 unloadable sections.
2061
2062 1999-01-31 Michael Meissner <meissner@cygnus.com>
2063
2064 * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
2065 powerpc{,le}-*-eabi.
2066
2067 1999-01-29 Nick Clifton <nickc@cygnus.com>
2068
2069 * dwarf2.c (read_unsigned_leb128): Remove unused variables.
2070 * dwarf2.c (read_signed_leb128): Remove unused variables.
2071
2072 Fri Jan 29 00:47:21 1999 H.J. Lu <hjl@gnu.org>
2073
2074 * elf.c (assign_file_positions_for_segments): Only adjust
2075 p_align when needed.
2076
2077 Thu Jan 28 20:05:22 1999 Ian Lance Taylor <ian@cygnus.com>
2078
2079 * binary.c (binary_set_section_contents): Don't return early for a
2080 non-loadable section, in case the first section is non-loadable.
2081 Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej
2082 W. Rozycki <macro@ds2.pg.gda.pl>.
2083
2084 1999-01-28 Nick Clifton <nickc@cygnus.com>
2085
2086 * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
2087 R_FR30_GNU_VTENTRY relocs.
2088
2089 Thu Jan 28 11:08:16 1999 Catherine Moore <clm@cygnus.com>
2090
2091 * elflink.h (elf_link_output_sym): Zero syms which are
2092 part of sections which have been excluded.
2093
2094 Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
2095
2096 * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
2097 to F_PIC_INT.
2098 * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
2099 F_ARM_3M labels. Changed F_PIC to F_PIC_INT.
2100
2101 1999-01-27 Nick Clifton <nickc@cygnus.com>
2102
2103 * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
2104 relocation.
2105 (fr30_final_link_relocate): Use computed value as result of
2106 relocation.
2107
2108 1999-01-26 Frank Ch. Eigler <fche@cygnus.com>
2109
2110 * binary.c (binary_set_section_contents): Emit warning for
2111 huge file offsets due to widely-dispersed section LMAs.
2112
2113 Mon Jan 18 03:35:35 1999 Ian Lance Taylor <ian@cygnus.com>
2114
2115 * elf.c (assign_file_positions_for_segments): If not D_PAGED,
2116 align first section to largest section alignment, not first
2117 section alignment.
2118
2119 1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com)
2120
2121 * configure.in: Require autoconf 2.12.1 or higher.
2122
2123 Tue Dec 22 15:21:41 1998 Catherine Moore <clm@cygnus.com>
2124
2125 * archures.c (bfd_mach_i386_i386_intel_syntax): Define.
2126 * bfd-in2.h: Likewise.
2127 * cpu-i386.c (bfd_i386_arch_intel_syntax): New.
2128
2129 1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
2130
2131 * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
2132 * cpu-mips.c: Add support for and independent 4111.
2133 * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
2134 (_bfd_mips_elf_final_write_processing):
2135 bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
2136
2137 1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
2138
2139 * elf32-mips.c (elf_mips_abi_name): New.
2140 (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
2141
2142 1998-12-12 Gavin Romig-Koch <gavin@cygnus.com>
2143
2144 * elf32-mips.c (_bfd_mips_elf_final_write_processing):
2145 Handle bfd_mach_mips4300.
2146
2147 1998-12-11 Ulrich Drepper <drepper@cygnus.com>
2148
2149 * elf32-i386.c: Remove leaked development code from patch
2150 1998-12-10 by Richard Henderson.
2151
2152 1998-12-10 Richard Henderson <rth@cygnus.com>
2153
2154 * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
2155 in debug sections for symbol defined externally.
2156
2157 Thu Dec 10 10:58:38 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2158
2159 * targets.c (bfd_target_vector): Remove duplicate entry for
2160 tekhex_vec.
2161
2162 1998-12-09 Nick Clifton <nickc@cygnus.com>
2163
2164 * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
2165 since we are using RELAs.
2166
2167 Tue Dec 8 22:15:48 1998 Ian Lance Taylor <ian@cygnus.com>
2168
2169 SCO Open Server Release 5 core file support, from Jouke Numan
2170 <jnuman@hiscom.nl>:
2171 * sco5-core.c: New file.
2172 * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
2173 (sco5-core.lo): Define SCO5_CORE in COREFLAG.
2174 * Makefile.am: Rebuild dependencies.
2175 (OPTIONAL_BACKENDS): Add sco5-core.lo.
2176 (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
2177 * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
2178 * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
2179 * bfd-in2.h, configure, Makefile.in: Rebuild.
2180
2181 Tue Dec 8 19:38:42 1998 Mark Klein <mklein@dis.com>
2182
2183 * config.bfd (hppa*-*-mpeix*): New target.
2184 * configure.in: Add AC_HEADER_DIRENT.
2185 (hppa*-*-mpeix*): New target.
2186 * configure.host (hppa*-*-mpeix*): New host.
2187 * hpux-core.c: Check HOST_HPPAMPEIX. Use HAVE_DIRENT_H and
2188 friends rather than just including <sys/dir.h>.
2189 * som.h (struct som_symbol): Add hppa_priv_level and apto
2190 tc_data. Change all users.
2191 (struct somdata): Add comp_unit field.
2192 (obj_som_compilation_unit): Define.
2193 (bfd_som_attach_compilation_unix): Declare.
2194 * som.c: Check HOST_HPPAMPEIX.
2195 (struct som_misc_symbol_info): Add new field priv_level.
2196 (som_object_setup): Add current_offset parameter. Change all
2197 callers.
2198 (setup_sections): Likewise.
2199 (som_object_p): For EXECLIBMAGIC, read the lst header.
2200 (som_write_symbol_strings): Add compilation_unit parameter.
2201 Change all callers.
2202 (som_finish_writing): Write out compilation_unit.
2203 (som_bfd_derive_misc_symbol_info): Set priv_level.
2204 (som_build_and_write_symbol_table): Set xleast field to 3.
2205 (som_slurp_symbol_table): Set symbol priv_level.
2206 (bfd_som_attach_compilation_unit): New function.
2207 (som_bfd_ar_write_symbol_stuff): Set xleast field to 3. Set
2208 priv_level into symbol_value.
2209 * configure, config.in: Rebuild.
2210
2211 Tue Dec 8 16:21:35 1998 Ian Lance Taylor <ian@cygnus.com>
2212
2213 * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
2214 warning function to call _bfd_error_handler instead.
2215
2216 * libbfd.c (COERCE32): Cast through unsigned long and long to
2217 avoid bug in old version of gcc.
2218
2219 * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
2220 (elf_backend_additional_program_headers): Don't define.
2221
2222 1998-12-08 Nick Clifton <nickc@cygnus.com>
2223
2224 * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
2225 relocations to include offset of 2 included in the insns, and the
2226 offset of the relocs within the section.
2227
2228 Wed Dec 2 15:03:59 1998 David Taylor <taylor@texas.cygnus.com>
2229
2230 The following changes were made by David Taylor
2231 <taylor@texas.cygnus.com>, Edith Epstein
2232 <eepstein@sophia.cygnus.com>, Jim Blandy
2233 <jimb@zwingli.cygnus.com>, and Elena Zannoni
2234 <ezannoni@kwikemart.cygnus.com> as part of the project to merge in
2235 changes originally made by HP; HP did not create ChangeLog
2236 entries.
2237
2238 * aclocal.m4, configure, Makefile.in: Rebuilt using latest
2239 automake macro library.
2240
2241 * hpux-core.c (hpux_core_core_file_p): this function now
2242 understands HPUX 10.30 thread info. Yes, the thread stacks can be
2243 found in the corefile! Also, in hpux_core_core_file_p, if we
2244 encounter a section with an unknown type, don't punt. Instead,
2245 just skip it. Also, count the number of sections of known type
2246 that we encounter. If we encounter at least one good one, then
2247 we'll declare that the file is a core file. If we encounter any
2248 unknown ones but some known ones, then we'll issue a warning (but
2249 still declare it to be a core file). Also, correctly decide when a
2250 file is not a core.
2251 (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
2252 (CORE_ANON_SHMEM): define if not defined.
2253 (hpux_core_struct): add members lwpid and user_tid.
2254 (core_kernel_thread_id, core_user_thread_id): new macros.
2255 (make_bfd_asection): use bfd_alloc to allocate room for a copy of
2256 the name before storing it in the bfd.
2257 (hpux_core_core_file_p): handle threads.
2258
2259 * libhppa.h (GET_FIELD): protect against redefinition.
2260 (HPPA_WIDE): define.
2261 (GET_FIELD): define.
2262 (GET_BIT): define.
2263 (MASK): define.
2264 (CATENATE): define.
2265 (ELEVEN): define.
2266 (sign_extend): redefine.
2267 (assemble_6): define.
2268 (assemble_12): rewrite.
2269 (assemble_16): define.
2270 (assemble_16a): define.
2271 (assemble_17): rewrite.
2272 (assemble_22): define.
2273
2274 1998-12-07 Nick Clifton <nickc@cygnus.com>
2275
2276 * elf32-fr30.c (fr30_final_link_relocate): Using signed
2277 relocations for signed values.
2278
2279 Sun Dec 6 16:30:33 1998 Ian Lance Taylor <ian@cygnus.com>
2280
2281 * mipsbsd.c (MY(set_arch_mach)): Make static.
2282 * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
2283 bfd_mach_mips* macros rather than simple numbers.
2284
2285 COFF weak symbol support, based on patches from Mark Elbrecht
2286 <snowball3@usa.net>:
2287 * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
2288 * coffgen.c (coff_renumber_symbols): Handle weak symbols.
2289 (coff_write_alien_symbol): Likewise.
2290 * cofflink.c (coff_link_check_ar_symbols): Likewise.
2291 (coff_link_add_symbols): Likewise.
2292 (_bfd_coff_link_input_bfd): Likewise.
2293 (_bfd_coff_write_global_sym): Likewise.
2294
2295 * elf.c (copy_private_bfd_data): Always initialize the
2296 includes_phdrs field.
2297
2298 * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
2299 file defines a symbol first mentioned in an ELF file.
2300
2301 * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
2302 possible, rather than only if BFD64.
2303 * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
2304 not __GNUC__.
2305 * bfd-in2.h: Rebuild.
2306
2307 * srec.c (srec_set_section_contents): Correct test to avoid
2308 switching to 4 byte addresses after seeing a second section which
2309 requires 3 byte addresses. From Joel Schantz
2310 <joel.schantz@argosys.boeing.com>.
2311
2312 * config.bfd (m68*-*-gnu*): New target. From Aymeric Vincent
2313 <aymeric.vincent@emi.u-bordeaux.fr>.
2314
2315 1998-12-04 Jim Blandy <jimb@zwingli.cygnus.com>
2316
2317 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
2318 decide whether the output file is -mrelocatable-lib,
2319 -mrelocatable, or neither. (gdb.base/nodebug.exp)
2320
2321 1998-12-03 Nick Clifton <nickc@cygnus.com>
2322
2323 * elf32-fr30.c: Add support for R_FR30_48 reloc.
2324 * reloc.c: Add BFD_RELOC_FR30_48 relocation.
2325 * bfd-in2.h: Regenerate.
2326 * libbfd.h: Regenerate
2327
2328 Wed Dec 2 00:58:37 1998 Ian Lance Taylor <ian@cygnus.com>
2329
2330 * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
2331 link against a dynamic symbol with no type or size.
2332
2333 1998-12-01 Ulrich Drepper <drepper@cygnus.com>
2334
2335 * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
2336 relocation for section which does not get loaded.
2337 (elf_i386_relocate_section) [R_386_32]: Likewise.
2338
2339 Tue Dec 1 11:33:33 1998 Jim Wilson <wilson@cygnus.com>
2340
2341 * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
2342 reloc_count and i long instead of unsigned long. Handle error
2343 return from bfd_canonicalize_reloc.
2344
2345 1998-12-01 Nick Clifton <nickc@cygnus.com>
2346
2347 * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
2348 a hash table.
2349
2350 Mon Nov 30 15:28:09 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2351
2352 * elf32-sh.c (elf/sh.h): Include.
2353 sh_reloc_type: Delete. Changed all references to elf_sh_reloc_type.
2354 (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
2355 (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
2356 (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
2357 * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
2358
2359 Fri Nov 27 17:51:38 1998 Geoff Keating <geoffk@ozemail.com.au>
2360
2361 * elflink.h (compute_bucket_count): Don't allow minsize==0, it
2362 causes division by zero later on.
2363
2364 Thu Nov 26 11:19:35 1998 Dave Brolley <brolley@cygnus.com>
2365
2366 * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
2367 needed.
2368
2369 1998-11-25 DJ Delorie <dj@cygnus.com>
2370
2371 * coff-i386.c (i3coff_object_p): Remove hack. Use new emulation
2372 hook now.
2373
2374 Tue Nov 24 10:25:27 1998 Nick Clifton <nickc@cygnus.com>
2375
2376 * elf32-fr30.c (fr30_elf_relocate_section): Call
2377 fr30_final_link_relocate.
2378 (fr30_final_link_relocate): New function: Handle I20 and I32
2379 relocs.
2380 (fr30_elf_i32_reloc): New function: Handle I32 relocs.
2381 (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
2382 (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
2383
2384 * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
2385 chain to empty.
2386
2387 The following changes are based on a patch submitted by Gianluca
2388 Moro <glctr@abc.it>:
2389
2390 (v850_elf_perform_relocation): Only update a hi16s reloc if it has
2391 not already been updated.
2392 (find_remembered_hi16s_reloc): New parameter 'already_found'
2393 returns state of remembered hi16s reloc.
2394 (remember_hi16s_reloc): Set 'found' field to false.
2395 (hi16s_location): Add 'found' field.
2396
2397 1998-11-23 DJ Delorie <dj@cygnus.com>
2398
2399 * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
2400 to see .DLL files as unrecognized.
2401 (i3coff_object_p): Sorry, had to hack it to not recognize these
2402 files (pei-i386) on request.
2403
2404 1998-11-23 DJ Delorie <dj@cygnus.com>
2405
2406 * opncls.c (bfd_make_readable): need more cleanup for symbols and
2407 relents. Call bfd_check_format to reinitialize.
2408
2409 Fri Nov 20 14:21:36 1998 Nick Clifton <nickc@cygnus.com>
2410
2411 * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
2412 warnings.
2413
2414 Thu Nov 19 14:42:15 1998 Geoffrey Noer <noer@cygnus.com>
2415
2416 * aclocal.m4: regenerate
2417 * configure: regenerate
2418
2419 Tue Nov 17 20:23:35 1998 Richard Henderson <rth@cygnus.com>
2420
2421 * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
2422 * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
2423 * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
2424 respect it as an upper bound on what memory to reference.
2425 (elf_gc_smash_unused_vtentry_relocs): Likewise.
2426 (elf_gc_record_vtentry): Handle as-yet undefined vtables. Set and
2427 update vtable_entries_size appropriately.
2428
2429 Tue Nov 17 15:28:31 1998 Nick Clifton <nickc@cygnus.com>
2430
2431 * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
2432 reloc number.
2433
2434 Mon Nov 16 22:19:21 1998 DJ Delorie <dj@cygnus.com>
2435
2436 * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
2437 bfds; they have no "file" so we fake it.
2438 * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
2439 * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
2440 resizing the memory buffer.
2441 * opncls.c (bfd_make_writable): New function; lets you write a
2442 bfd_create'd bfd to an in-memory buffer.
2443 (bfd_make_readable): New function; lets you read back that buffer
2444 as if it were from bfd_openr. Used to build generated archive
2445 members (winsup's ld's dlltool)
2446
2447 Mon Nov 16 19:15:19 1998 Dave Brolley <brolley@cygnus.com>
2448
2449 * po/bfd.pot: Regenerated.
2450
2451 Mon Nov 16 10:57:06 1998 Nick Clifton <nickc@cygnus.com>
2452
2453 * elf32-v850.c (hi16s_location): Replaced fixed size array with
2454 linked list.
2455
2456 Sun Nov 15 20:28:25 1998 Richard Henderson <rth@cygnus.com>
2457
2458 * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
2459 element of the gotentry list for local symbols too.
2460 (elf64_alpha_relocate_section): Unify local and global handling.
2461 Assert that gotent->use_count > 0.
2462
2463 Sat Nov 14 15:16:01 1998 Ian Lance Taylor <ian@cygnus.com>
2464
2465 * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
2466 update for file name changes of July 2, 1998.
2467 (vms_vax_vec): New.
2468 * configure: Rebuild.
2469
2470 Thu Nov 12 19:19:54 1998 Dave Brolley <brolley@cygnus.com>
2471
2472 * po/bfd.pot: Regenerated.
2473
2474 Tue Nov 10 16:17:06 1998 Geoffrey Noer <noer@cygnus.com>
2475
2476 * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
2477 * aclocal.m4, configure: regenerate
2478
2479 Tue Nov 10 15:13:59 1998 Nick Clifton <nickc@cygnus.com>
2480
2481 * elf.c (prep_headers): Add support for bfd_arch_fr30.
2482
2483 Tue Nov 10 13:37:36 1998 Felix Lee <flee@cygnus.com>
2484
2485 * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
2486 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
2487 was cached.
2488 * aclocal.m4, configure: regenerated.
2489
2490 Tue Nov 10 14:31:01 1998 Catherine Moore <clm@cygnus.com>
2491
2492 * elf32-d10v.c (reloc_type): Add R_D10V_GNU_VTINHERIT and
2493 R_D10V_GNU_VTENTRY relocs.
2494 (elf_d10v_howto_table): Likewise.
2495 (d10v_reloc_map d10v_reloc_map): Likewise.
2496 (elf32_d10v_gc_mark_hook): New.
2497 (elf32_d10v_gc_sweep_hook): New.
2498 (elf32_d10v_check_relocs): New.
2499 (elf32_d10v_relocate_section): New.
2500 (elf_backend_relocate_section): Define.
2501 (elf_backend_can_gc_sections): Define.
2502
2503 Sat Nov 7 18:07:51 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
2504
2505 * Makefile.am (BFD32_BACKENDS): Move vms files here...
2506 (BFD64_BACKENDS): ...from here.
2507 (BFD32_BACKENDS_CFILES): Move vms files here...
2508 (BFD64_BACKENDS_CFILES): ...from here.
2509 * Makefile.in: Rebuild.
2510
2511 Wed Nov 4 15:58:48 1998 Nick Clifton <nickc@cygnus.com>
2512
2513 * Makefile.am: Add FR30 target.
2514 * Makefile.in: Add FR30 target.
2515 * archures.c: Add support for FR30.
2516 * config.bfd: Add support for FR30.
2517 * configure.in: Add support for FR30.
2518 * reloc.c: Add support for FR30 relocations.
2519 * targets.c: Add support for FR30 relocations.
2520 * bfd-in2.h: Regenerate.
2521 * configure: Regenerate.
2522 * libbfd.h: Regenerate.
2523 * cpu-fr30.c: New file.
2524 * elf32-fr30.c: New file.
2525
2526 Mon Nov 2 14:59:33 1998 Geoffrey Noer <noer@cygnus.com>
2527
2528 * configure.in: detect cygwin* instead of cygwin32*
2529 * configure: regenerate
2530
2531 Sun Nov 1 19:32:28 1998 Jeffrey A Law (law@cygnus.com)
2532
2533 * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
2534 use bfd_malloc and free instead and check return value from bfd_malloc.
2535
2536 Sun Nov 1 16:20:35 1998 Ian Lance Taylor <ian@cygnus.com>
2537
2538 * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
2539 * libbfd.h: Rebuild.
2540
2541 * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
2542 (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
2543 (MIPS_TEXT_DYNSYM_SECN): Likewise.
2544 (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
2545 section.
2546 (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
2547 field.
2548 (mips_elf_link_hash_table_create): Don't initialize
2549 dynsym_sec_strindex.
2550 (mips_elf_gc_mark_hook): Add default case to avoid warning.
2551 (mips_elf_size_dynamic_sections): Generate a section symbol for
2552 every output section.
2553 (mips_elf_finish_dynamic_sections): Count all sections for
2554 DT_MIPS_UNREFEXTNO.
2555 (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
2556 output sections.
2557
2558 Sun Nov 1 12:46:53 1998 Geoff Keating <geoffk@ozemail.com.au>
2559
2560 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
2561 for later PLT entries in large PLTs.
2562 (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
2563
2564 Sat Oct 31 20:10:09 1998 Jeffrey A Law (law@cygnus.com)
2565
2566 * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
2567
2568 1998-10-26 15:58 Ulrich Drepper <drepper@cygnus.com>
2569
2570 * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
2571 * elflink.h (elf_collect_hash_codes): New function. This function is
2572 called for each exported symbol and we compute the ELF hash value for
2573 it.
2574 (compute_bucket_value): New function. It is called from
2575 size_dynamic_sections to determine the hash table size. When we are
2576 optimizing a better, but slower, algorithm is used.
2577 (size_dynamic_sections): Call compute_bucket_value.
2578
2579 * elf.c (bfd_elf_hash): Optimize the hash function a bit.
2580
2581 Mon Oct 19 20:03:21 1998 Catherine Moore <clm@cygnus.com>
2582
2583 * elf32-sh.c: Add HOWTO entries for R_SH_GNU_VTINHERIT and
2584 R_SH_GNU_VTENTRY.
2585 (sh_elf_gc_mark_hook): New.
2586 (sh_elf_gc_sweep_hook): New.
2587 (sh_elf_check_relocs): New.
2588 (elf_backend_can_gc_sections): Define.
2589
2590 Mon Oct 19 16:57:05 1998 Felix Lee <flee@cygnus.com>
2591
2592 * acinclude.m4: undo previous gettext change
2593 * aclocal.m4: rebuild with right version of aclocal.
2594
2595 Mon Oct 19 01:47:21 1998 Felix Lee <flee@cygnus.com>
2596
2597 * acinclude.m4, aclocal.m4: move gettext-related fragments from
2598 aclocal.m4 to acinclude.m4, so they don't get lost.
2599
2600 * elfcore.h: rewrite for better corefile support.
2601 * elf.c (elfcore_*): new functions.
2602 * elf-bfd.h (elf_obj_tdata): new structure members.
2603 * acconfig.h, acinclude.m4, configure.in: add feature-tests for
2604 flavor of procfs.
2605 * aclocal.m4, config.in, configure, Makefile.in: regenerated.
2606
2607 Fri Oct 16 14:07:45 1998 Catherine Moore <clm@cygnus.com>
2608
2609 * elf32-m32r.c: Add HOWTO entries for R_M32R_GNU_VTINHERIT
2610 and R_M32R_GNU_VTENTRY.
2611 (elf_backend_can_gc_sections): Define.
2612 (m32r_elf_check_relocs): New.
2613 (m32r_elf_gc_mark_hook): New.
2614 (m32r_elf_gc_sweep_hook): New.
2615 (m32r_elf_relocate_section): Handle VT relocs.
2616
2617 Mon Oct 12 14:18:40 1998 Nick Clifton <nickc@cygnus.com>
2618
2619 * coff-arm.c (arm_relocate_section): Remove redundant test.
2620
2621 * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
2622 cleat that the 'bitsize' field is the size of the bitfield AFTER
2623 relocation not before.
2624
2625 * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
2626
2627 * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
2628 relocs.
2629
2630 Tue Oct 6 09:20:44 1998 Catherine Moore <clm@cygnus.com>
2631
2632 * elf32-sparc.c: Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
2633 R_SPARC_GNU_VTENTRY.
2634 (elf32_sparc_check_relocs): Handle them.
2635 (elf32_sparc_reloc_type_lookup): Likewise.
2636 (elf32_sparc_relocate_section): Likewise.
2637 (elf32_sparc_gc_mark_hook): New.
2638 (elf32_sparc_gc_sweep_hook): New.
2639
2640 Mon Oct 5 14:55:30 1998 Jeffrey A Law (law@cygnus.com)
2641
2642 * som.c (som_finish_writing): Perform some sanity checks when
2643 writing an executable or shared library.
2644
2645 Mon Oct 5 12:02:31 1998 Gavin Romig-Koch <gavin@cygnus.com>
2646
2647 * dwarf1.c : New file. Adds _bfd_dwarf1_find_nearest_line.
2648 * configure.in (elf): Add dwarf1.lo.
2649 * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
2650 * elf.c (_bfd_elf_find_nearest_line): Add call to
2651 _bfd_dwarf1_find_nearest_line.
2652 * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
2653 Add call to _bfd_dwarf1_find_nearest_line.
2654 * configure: Rebuilt.
2655
2656 Mon Oct 5 10:06:22 1998 Catherine Moore <clm@cygnus.com>
2657
2658 * elflink.h (elf_gc_sections): Do not allow garbage
2659 collection if dynamic sections have been created.
2660
2661 Mon Oct 5 09:07:37 1998 Catherine Moore <clm@cygnus.com>
2662
2663 * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
2664 R_V850_GNU_VTENTRY.
2665 (v850_elf_check_relocs): Handle VTINHERIT and VTENTRY relocs.
2666 (v850_elf_perform_relocation): Likewise.
2667 (v850_elf_final_link_relocate): Likewise.
2668 (v850_elf_relocate_section): Likewise.
2669 (v850_elf_gc_sweep_hook): New routine.
2670 (v850_elf_gc_mark_hook): New routine.
2671 (elf_backend_can_gc_sections): Define.
2672
2673 Mon Oct 5 09:04:25 1998 Catherine Moore <clm@cygnus.com>
2674
2675 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Don't assume
2676 that dynobj exists.
2677
2678 Sun Oct 4 23:29:34 1998 David Edelsohn <edelsohn@mhpcc.edu>
2679
2680 * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
2681 Declare size as bfd_size_type.
2682 (rs6000coff_get_section_contents): Declare count as bfd_size_type.
2683
2684 Sun Oct 4 20:38:29 1998 Jeffrey A Law (law@cygnus.com)
2685
2686 * cpu-hppa.c (bfd_hppa20_arch): Define. Link it into the bfd_hppa_arch
2687 structure.
2688 * som.c (CPU_PA_RISC2_0): Define.
2689 (_PA_RISC2_0_ID): Likewise.
2690 (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
2691
2692 Sun Oct 4 21:19:09 1998 Ian Lance Taylor <ian@cygnus.com>
2693
2694 * elflink.h (elf_link_add_object_symbols): When a versioned symbol
2695 has a base which is already defined, only add the referenced
2696 symbol to the dynamic symbol table if it is defined or referenced
2697 by a regular file.
2698
2699 * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
2700 correctly.
2701
2702 1998-09-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2703
2704 * elflink.h (elf_link_add_object_symbols): Undo last change.
2705
2706 Wed Sep 23 16:09:31 1998 Richard Henderson <rth@cygnus.com>
2707
2708 * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
2709 symbol for the indirect alias to a versioned symbol.
2710
2711 Mon Sep 21 12:15:22 1998 Catherine Moore <clm@cygnus.com>
2712
2713 * elf32-i386.c (elf32_i386_vtinherit_howto): New.
2714 (elf32_i386_vtentry_howto): New.
2715 (elf_i386_reloc_type_lookup): Return elf32_i386_vtentry_howto
2716 or elf32_i386_vtinherit_howto on lookup.
2717
2718 Sun Sep 20 00:48:07 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2719
2720 * elf32-m68k.c: Include "elf/m68k.h". Remove definition of enum
2721 reloc_type. Rename R_68K__max to R_68K_max.
2722 (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
2723 reloc.
2724
2725 Sun Sep 20 00:09:25 1998 Chris Torek <torek@bsdi.com>
2726
2727 * libbfd.c (bfd_getb32): Rewrite expression to get better code.
2728 (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
2729
2730 * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
2731 after.
2732
2733 Sat Sep 19 22:42:23 1998 Doug Rabson <dfr@nlsystems.com>
2734
2735 * elflink.h (elf_link_add_object_symbols): Ensure that the warning
2736 message has a null byte terminator.
2737
2738 Fri Sep 18 14:35:29 1998 Nick Clifton <nickc@cygnus.com>
2739
2740 * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
2741 word subject to R_V850_32 relocation.
2742
2743 Thu Sep 17 17:20:36 1998 Nick Clifton <nickc@cygnus.com>
2744
2745 * dwarf2.c: Add comment describing problem computing line numbers
2746 for undefined symbols at link time.
2747
2748 Thu Sep 17 16:03:28 1998 Richard Henderson <rth@cygnus.com>
2749
2750 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
2751 transform a defweak into a plt entry.
2752 (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
2753 plt entry references to receive a RELATIVE reloc.
2754 (elf64_alpha_finish_dynamic_symbol): Fill them in.
2755 (elf64_alpha_relocate_section): Assert we don't overrun
2756 the allocated relocation space.
2757
2758 Wed Sep 16 18:03:13 1998 Nick Clifton <nickc@cygnus.com>
2759
2760 * elf.c (swap_out_syms): Always treat section symbols as
2761 special, even if they are attached to a common section.
2762
2763 Wed Sep 16 10:34:13 1998 Nick Clifton <nickc@cygnus.com>
2764
2765 * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
2766 sections with v850 common section attributes into named v850
2767 common sections.
2768 (v850_elf_add_symbol_hook): Move symbols in sections with v850
2769 common section attributes into named v850 common sections.
2770
2771 Wed Sep 16 11:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
2772
2773 * elf32-arm.c (elf32_arm_gc_mark_hook): Remove print
2774 statement.
2775
2776 1998-09-15 Geoff Keating <geoffk@ozemail.com.au>
2777
2778 * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
2779 part of Vladimir's change of 1998-08-19. Make a R_PPC_SDAREL16
2780 reloc to the wrong section a warning, not an error. .dynsbss
2781 is not an output section, so there is no need to check for it.
2782
2783 Tue Sep 15 12:40:05 1998 Catherine Moore <clm@cygnus.com>
2784
2785 * elf-bfd.h: Add argument to elf_backend_get_symbol_type.
2786
2787 Tue Sep 15 08:34:40 1998 Catherine Moore <clm@cygnus.com>
2788
2789 * elf.c (swap_out_syms): Pass type to elf_backend_get_symbol_type.
2790 * elf32-arm.c: Add HOWTO entries for R_ARM_GNU_VTINHERIT and
2791 R_ARM_GNU_VTENTRY.
2792 (elf32_arm_gc_mark_hook): New.
2793 (elf32_arm_gc_sweep_hook): New.
2794 (elf32_arm_check_relocs): New.
2795 (elf32_arm_final_link_relocate): Handle VTINHERIT and VTENTRY
2796 relocations.
2797 (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
2798 relocations.
2799
2800 1998-09-10 Geoff Keating <geoffk@ozemail.com.au>
2801
2802 * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
2803 assume there is no PLT or GOT.
2804
2805 Wed Sep 9 14:24:12 1998 Nick Clifton <nickc@cygnus.com>
2806
2807 * elf32-arm.c (elf32_arm_find_nearest_line): New function: just
2808 like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
2809 also accepted as a function symbol type.
2810
2811 Mon Sep 7 13:24:03 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
2812
2813 * rs6000-core.c (_LONG_LONG): Define for AIX 4.x only.
2814
2815 Sat Sep 5 20:40:18 1998 Ian Lance Taylor <ian@cygnus.com>
2816
2817 * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
2818 match definition of _bfd_gc_sections field.
2819 * libbfd.h: Rebuild.
2820
2821 Fri Sep 4 13:54:23 1998 David Miller <davem@dm.cobaltmicro.com>
2822
2823 * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
2824 the addend of a dynamic relocation referencing a section.
2825 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2826 (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
2827
2828 Thu Sep 3 17:28:50 1998 Richard Henderson <rth@cygnus.com>
2829
2830 * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
2831 bed has a size_dynamic_sections routine before trying to use it.
2832
2833 Mon Aug 31 14:49:22 1998 Richard Henderson <rth@cygnus.com>
2834
2835 * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
2836 _bfd_elf_rel_vtable_reloc_fn.
2837
2838 Mon Aug 31 10:23:40 1998 Catherine Moore <clm@cygnus.com>
2839
2840 * Makefile.am: Add elf32-arm.c.
2841 * Makefile.in: Rebuild.
2842 * elf-bfd.h: Add elf_backend_get_symbol_type.
2843 * elf.c (swap_out_syms): If defined, call
2844 elf_backend_get_symbol_type.
2845 * elf32-arm.c: Define elf_backend_get_symbol_type.
2846 (elf32_arm_get_symbol-type): New routine.
2847 (record_thumb_to_arm_glue): Change to use STT_ARM_TFUNC.
2848 (bfd_elf32_arm_process_before_allocation): Change to
2849 check for STT_ARM_TFUNC.
2850 (elf32_arm_final_link_relocate): Likewise.
2851 * elfxx-target.h: Add elf_backend_get_symbol_type.
2852
2853 Fri Aug 28 19:44:07 1998 Richard Henderson <rth@cygnus.com>
2854
2855 * archures.c (bfd_mach_alpha_ev[456]): New.
2856 * cpu-alpha.c: Rework to match these types.
2857 * bfd-in2.h: Rebuild.
2858
2859 Fri Aug 28 19:38:53 1998 Richard Henderson <rth@cygnus.com>
2860
2861 * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
2862 * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
2863
2864 * elf32-i386.c (elf_howto_table): Add vtable relocs.
2865 (elf_i386_reloc_type_lookup): Recognize them.
2866 (elf_i386_check_relocs): Pass them off to generic code.
2867 (elf_i386_relocate_section): Ignore them.
2868 (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
2869 (elf_backend_can_gc_sections): True.
2870
2871 Thu Aug 20 15:03:45 1998 Nick Clifton <nickc@cygnus.com>
2872
2873 * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
2874 before looking at owner field.
2875 (elf32_arm_to_thumb_stub): Ditto.
2876 (elf32_arm_relocate_section): Compute name before calling
2877 elf32_arm_final_link_relocate().
2878
2879 Thu Aug 20 11:30:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
2880
2881 * elf.c: comment and formatting cleanups.
2882 * elfcore.h: ditto.
2883
2884 Wed Aug 19 15:43:26 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
2885
2886 * elfcode.h (elf_object_p): Reject files of header type ET_CORE
2887 (core files are treated differently than object files).
2888 * elf-bfd.h (_bfd_elf_write_corefile_contents,
2889 bfd_elf_mkcorefile): declare.
2890 * elfxx-target.h (_bfd_elf_write_corefile_contents,
2891 bfd_elf_mkcorefile): add to bfd_target vector.
2892 * elfcore.h (elf_core_file_p): save the program header table,
2893 and set the bfd architecture from the elf file header.
2894 * elf.c (bfd_elf_mkcorefile): new function.
2895 (_bfd_elf_write_corefile_contents): new function.
2896 (assign_file_positions_for_segments): add cases for handling
2897 PT_NOTE segments. (assign_file_positions_except_relocs):
2898 core files should be handled the same as exec files.
2899 (prep_headers): identify core files as type ET_CORE.
2900 (copy_private_bfd_data): identify the sections belonging to
2901 the PT_NOTE segment.
2902
2903 * elf32-sparc.c (elf32_sparc_final_write_processing):
2904 add break statement to default case.
2905
2906 1998-08-19 Vladimir N. Makarov <vmakarov@cygnus.com>
2907
2908 * elf32-ppc.c (ppc_elf_relocate_section): Check that output
2909 section (not input) will be in sections ".sbss", ".sbss2",
2910 ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
2911 R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA. In all these cases also ignore
2912 output_offset for correct evaluation of addend.
2913
2914 Tue Aug 18 11:48:12 1998 Catherine Moore <clm@cygnus.com>
2915
2916 * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
2917 elf32_arm_allocate_interworking_sections and
2918 elf32_arm_process_before_allocation.
2919
2920 Tue Aug 18 11:46:00 1998 Nick Clifton <nickc@cygnus.com>
2921
2922 * bfd-in.h: Ammend prototype for
2923 elf32_arm_process_before_allocation to remove surplus third
2924 argument.
2925
2926 * bfd-in2.h: Regenerate.
2927
2928 Sat Aug 15 20:55:08 1998 Richard Henderson <rth@cygnus.com>
2929
2930 * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
2931
2932 Fri Aug 14 09:12:28 1998 Stan Cox <scox@cygnus.com>
2933
2934 * aoutx.h (aout_link_input_section_ext): Use the relocation already
2935 calculated for RELOC_SPARC_REV32 case.
2936
2937 Thu Aug 13 14:02:02 1998 Catherine Moore <clm@cygnus.com>
2938
2939 * bfd-in.h: Add prototypes for elf32_arm_get_bfd_for_interworking,
2940 elf32_arm_allocate_interworking_sections and
2941 elf32_arm_process_before_allocation.
2942 * bfd-in2.h: Regenerated.
2943 * elf32-arm.c Define elf32_arm_link_hash_table.
2944 (insert_thumb_branch): New routine.
2945 (find_thumb_glue): New routine.
2946 (find_arm_glue): New routine.
2947 (record_arm_to_thumb_glue): New routine.
2948 (record_thumb_to_arm_glue): New routine.
2949 (elf32_arm_link_hash_table_create): New routine.
2950 (elf32_arm_get_bfd_for_interworking): New routine.
2951 (elf32_arm_allocate_interworking_sections) New routine.
2952 (elf32_arm_process_before_allocation) New routine.
2953 (elf32_thumb_to_arm_stub): New routine.
2954 (elf32_arm_to_thumb_stub): New routine.
2955 (elf32_print_private_bfd_data): Fix typo.
2956 (elf32_arm_final_link_relocate): Add argument sym_sec.
2957 Check for branches to thumb symbols in case R_ARM_PC24.
2958 Check for branches to arm symbols in case R_ARM_THM_PC22.
2959 (elf32_arm_relocate_section): Pass symbol section to
2960 elf32_arm_final_link_relocate.
2961
2962 Wed Aug 12 19:00:39 1998 Geoff Keating <geoffk@ozemail.com.au>
2963
2964 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
2965 entries unless the symbol is defined in the executable; in
2966 particular, undefined weak symbols get a PLT entry.
2967
2968 Wed Aug 12 14:48:33 1998 Ian Lance Taylor <ian@cygnus.com>
2969
2970 * libaout.h: Remove nested comment to avoid warning.
2971
2972 Wed Aug 12 08:10:11 1998 Catherine Moore <clm@cygnus.com>
2973
2974 * elf32-arm.c (elf32_arm_final_link_relocate): Rework
2975 R_ARM_PC24 relocation.
2976
2977 Tue Aug 11 14:42:26 1998 Catherine Moore <clm@cygnus.com>
2978
2979 * elf32-arm.c (elf32_arm_final_link_relocate): Remove unused
2980 argument is_local. Add argument sym_flags. Check sym_flags
2981 in R_ARM_ABS32 case. Include addend for R_ARM_THM_PC22 case.
2982 (elf32_arm_relocate_section): Don't pass local sym and pass
2983 sym_flags to elf32_arm_final_link_relocate.
2984
2985 Mon Aug 10 20:38:39 1998 Richard Henderson <rth@cygnus.com>
2986
2987 * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
2988 to not count too few relocs for dynamicly linked executables.
2989
2990 Mon Aug 10 15:35:34 1998 Richard Henderson <rth@cygnus.com>
2991
2992 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
2993 symbols without a dynamic index dynamic. Consider all weak
2994 symbols dynamic.
2995 (elf64_alpha_strip_section_from_output): Don't assume 1-1
2996 correspondance between input and output sections.
2997
2998 Mon Aug 10 15:31:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2999
3000 * elflink.h (elf_gc_common_finalize_got_offsets): For backends
3001 that use a .got.plt section start the got offset at zero.
3002
3003 Mon Aug 10 17:31:21 1998 Ian Lance Taylor <ian@cygnus.com>
3004
3005 * ieee.c (ieee_write_processor): Correct the processor ID written
3006 out for bfd_arch_m68k, accommodating change of March 25.
3007
3008 Sun Aug 9 20:55:44 1998 Catherine Moore <clm@cygnus.com>
3009
3010 * elf32-arm.c (elf32_arm_final_link_relocate): Rework
3011 R_ARM_THM_RPC22 relocations.
3012
3013 Sat Aug 8 15:15:30 1998 Richard Henderson <rth@cygnus.com>
3014
3015 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
3016 are always dynamic.
3017 (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
3018 .got relocs in -Bsymbolic shared objects.
3019
3020 Wed Aug 5 15:48:08 1998 Nick Clifton <nickc@cygnus.com>
3021
3022 * elf32-arm.c: Add private flags to ELF header.
3023 (elf32_arm_print_private_bfd_data): New Function.
3024 (elf32_arm_set_private_flags): New Function.
3025 (elf32_arm_copy_private_flags): New Function.
3026 (elf32_arm_merge_private_bfd_data): New Function.
3027
3028 Mon Aug 3 17:10:15 1998 Ian Lance Taylor <ian@cygnus.com>
3029
3030 * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
3031 a local symbol.
3032 (elf32_sparc_relocate_section): Likewise.
3033
3034 Sun Aug 2 03:19:23 1998 Richard Henderson <rth@cygnus.com>
3035
3036 * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL. Create the
3037 .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
3038 (ppc_elf_relocate_section): Pull sgot and splt search to the start
3039 of the function. Recognize no .plt as static linking.
3040
3041 1998-08-01 Ulrich Drepper <drepper@cygnus.com>
3042
3043 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
3044 ".liblist" string through gettext.
3045
3046 Fri Jul 31 16:38:14 1998 Catherine Moore <clm@cygnus.com>
3047
3048 * Makefile.am: Add support for elf32-arm.lo.
3049 * Makefile.in: Rebuild.
3050 * config.bfd (arm-*-elf): Define targ_defvec and targ_selvecs.
3051 (thumb-*-elf): Define targ_defvec and targ_selvecs.
3052 * configure.in: Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
3053 * configure: Regenerate.
3054 * elf.c: (prep_headers): Support arch_type of EM_ARM.
3055 * targets.c: Support new targets bfd_elf32_bigarm_vec and
3056 bfd_target bfd_elf32_littlearm_vec.
3057 * elf32-arm.c: New file.
3058
3059 Tue Jun 28 19:05:28 1998 Stan Cox <scox@cygnus.com>
3060
3061 * libaout.h (M_SPARCLITE_LE): New machine.
3062 * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
3063 * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
3064 (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
3065 * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
3066 (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
3067 (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
3068 * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
3069 elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
3070 * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
3071 be BFD_RELOC_SPARC_REV32.
3072 * reloc.c: Ditto.
3073 * config.bfd (sparc86x-*-aout): New
3074
3075 Fri Jul 24 13:54:19 1998 Nick Clifton <nickc@cygnus.com>
3076
3077 * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
3078 actually mapping the output sections.
3079
3080 Fri Jul 24 11:24:29 1998 Jeffrey A Law (law@cygnus.com)
3081
3082
3083 * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
3084 (mn10300_elf_reloc_map): Similarly.
3085 (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
3086
3087 Fri Jul 24 12:36:04 1998 Ian Lance Taylor <ian@cygnus.com>
3088
3089 * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
3090 Irix 6.
3091 (bfd_elf32_bfd_reloc_type_lookup): Add default case.
3092 * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
3093 elf_mips_reloc_type defined in elf/mips.h.
3094
3095 1998-07-24 Ulrich Drepper <drepper@cygnus.com>
3096
3097 * elf64-mips.c: Remove reloc_type definition completely. It's now
3098 in elf/mips.h.
3099
3100 Thu Jul 23 13:33:19 1998 Doug Evans <devans@canuck.cygnus.com>
3101
3102 * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
3103 as they are defined in elf/mips.h now.
3104
3105 Thu Jul 23 11:29:43 1998 Jeffrey A Law (law@cygnus.com)
3106
3107
3108 * Re-add lost change:
3109 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
3110 "movm_stack_size".
3111 (mn10300_elf_relax_section): Include stack space for register saves
3112 in the imm8 field of a "call" instruction.
3113 (compute_function_info): Determine how much stack is allocated by
3114 the movm instruction. Fix typo.
3115 (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
3116
3117 Thu Jul 23 11:38:05 1998 Ian Lance Taylor <ian@cygnus.com>
3118
3119 * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
3120 * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
3121
3122 1998-07-22 Ulrich Drepper <drepper@cygnus.com>
3123
3124 * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
3125
3126 Wed Jul 22 16:27:18 1998 Nick Clifton <nickc@cygnus.com>
3127
3128 * elf32-hppa.h: Let ELF header define the enum containing the
3129 external reloc numbers.
3130 * elf32-i386.h: Likewise.
3131
3132 1998-07-22 14:57 Ulrich Drepper <drepper@cygnus.com>
3133
3134 * elf-m10300.c: Let ELF header now define the macros to get the enum.
3135 * elf32-mips.c: Likewise.
3136 * elf32-ppc.c: Likewise.
3137
3138 Wed Jul 22 13:53:52 1998 Nick Clifton <nickc@cygnus.com>
3139
3140 * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
3141 bfd_coff_set_symbol_class(), in order to avoid K&R compatability
3142 prblems.
3143 * bfd-in.h: Regenerate.
3144 * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
3145 parameter to 'unsigned int' to avoid K&R compatability problems.
3146
3147 Wed Jul 22 16:43:24 1998 Ian Lance Taylor <ian@cygnus.com>
3148
3149 * ieee.c (ieee_find_nearest_line): Change filename_ptr and
3150 functionname_ptr to be const. Change line_ptr to be unsigned.
3151
3152 * coffcode.h (coff_link_output_has_begun): Simplify handling when
3153 macro is not defined. Change second parameter from bfd_link_info
3154 to coff_final_link_info. Add prototype.
3155 (coff_final_link_postscript): Simplify handling when macro is not
3156 defined. Add prototype.
3157
3158 1998-07-22 13:08 Ulrich Drepper <drepper@cygnus.com>
3159
3160 * elf-mn10300.c: Before include system specific ELF header define
3161 START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
3162 * elf32-mips.c: Likewise.
3163 * elf32-ppc.c: Likewise.
3164
3165 Wed Jul 22 13:46:51 1998 Ian Lance Taylor <ian@cygnus.com>
3166
3167 * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
3168 temporary patch over to elf64-mips.c as well.
3169
3170 1998-07-21 Ulrich Drepper <drepper@cygnus.com>
3171
3172 * elf32-mips.c (reloc_type): Temporarily disable definition of
3173 standard relocation since they are now defined in elf/mips.h.
3174
3175 Tue Jul 21 09:47:00 1998 Catherine Moore <clm@cygnus.com>
3176
3177 * elf-m10200.c (mn10200_elf_final_link_relocate):
3178 Modify range test for case R_MN10200_8.
3179
3180 * elf-m10300.c (mn10300_elf_final_link_relocate):
3181 Modify range test for case R_MN10300_8.
3182
3183 Mon Jul 20 18:50:54 1998 Richard Henderson <rth@cygnus.com>
3184
3185 * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
3186 * elf32-i386.c (elf_backend_got_header_size): Define.
3187 (elf_backend_plt_header_size): Define.
3188 * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
3189 * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
3190 * elfxx-target.h: Provide a default of zero.
3191 * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
3192 * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
3193
3194 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
3195 entry from an executable, even if the plt refcount goes to 0.
3196
3197 Mon Jul 20 12:47:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3198
3199 * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
3200 directory name at the line number.
3201
3202 * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
3203 with an unspecified type.
3204
3205 Wed Jul 15 11:20:01 1998 Ian Lance Taylor <ian@cygnus.com>
3206
3207 * sunos.c: Add undef of valid to avoid problem on SunOS.
3208
3209 Tue Jul 14 15:30:59 1998 Richard Henderson <rth@cygnus.com>
3210
3211 * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
3212
3213 Tue Jul 14 11:22:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3214
3215 * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
3216 R_68K_PCxx and R_68K_xx relocations. Make sure that
3217 ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
3218 (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
3219 R_68K_xx relocations.
3220 (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
3221 that has no plt entry.
3222 (elf_m68k_relocate_section): Ignore the plt offset in a static
3223 link.
3224 * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
3225 an ignored symbol.
3226 (elf_gc_common_finalize_got_offsets): Set the got offsets also in
3227 a static link.
3228
3229 * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
3230 types.
3231 (howto_table, reloc_map): Add entries for them.
3232 (elf_m68k_check_relocs): Handle them. Implement reference
3233 counting for got and plt entries.
3234 (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
3235 (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
3236 symbols.
3237 (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
3238 (elf_m68k_relocate_section): Handle the new reloc types.
3239 (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
3240 elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
3241 * elflink.h (elf_link_add_object_symbols): When creating an
3242 indirect reference for symbol versioning also copy the plt
3243 offset.
3244 (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
3245 flag also reset the plt offset.
3246 (elf_link_assign_sym_version): Likewise.
3247 (elf_gc_common_finalize_got_offsets): Increment the got offset by
3248 the size of the entry in bytes.
3249 (elf_gc_allocate_got_offsets): Likewise.
3250
3251 Tue Jul 14 11:18:14 1998 Ian Lance Taylor <ian@cygnus.com>
3252
3253 * elflink.h (elf_gc_sections): Return true rather than falling off
3254 the bottom.
3255
3256 * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
3257 xmalloc.
3258
3259 Mon Jul 13 11:06:31 1998 Nick Clifton <nickc@cygnus.com>
3260
3261 * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
3262 comment describing when it should be enabled.
3263 Changed definition of USER_LABEL_PREFIX to "", to fall into line
3264 with GCC sources.
3265
3266 Mon Jul 13 13:06:54 1998 Ian Lance Taylor <ian@cygnus.com>
3267
3268 * ieee.c (ieee_slurp_external_symbols): Handle call optimization
3269 information ATN records.
3270
3271 Fri Jul 10 16:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
3272
3273 * ieee.c (ieee_slurp_external_symbols): Select an appropriate
3274 section for an absolute symbol in a fully linked file. Based on
3275 patch from Christian Holland <CHolland@de.lucent.com>.
3276
3277 Wed Jul 8 11:29:56 1998 Manfred Hollstein <manfred@s-direktnet.de>
3278
3279 * coff-m88k.c (m88k_special_reloc): Don't lose the information
3280 that a symbol is undefined.
3281
3282 Tue Jul 7 21:47:02 1998 Jeffrey A Law (law@cygnus.com)
3283
3284 * som.c (som_bfd_gc_sections): Define.
3285
3286 Mon Jul 6 11:35:50 1998 Nick Clifton <nickc@cygnus.com>
3287
3288 * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
3289 overflows in ARM_26D patches, since they have already been
3290 implmented. Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
3291
3292 Sat Jul 4 12:25:36 1998 Ian Lance Taylor <ian@cygnus.com>
3293
3294 * coffcode.h (coff_write_object_contents): If we have any long
3295 section names, call coff_write_symbols even if there are no
3296 symbols.
3297
3298 Fri Jul 3 13:11:35 1998 Ian Lance Taylor <ian@cygnus.com>
3299
3300 * elf.c (copy_private_bfd_data): Only set phdr_included once for a
3301 PT_LOAD segment, rather than only setting it once for the entire
3302 file.
3303
3304 * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
3305 rather than ignoring every phdr with a p_paddr of 0, ignore all
3306 the phdrs if they all have a p_paddr of 0.
3307
3308 * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
3309 section was discarded from the link.
3310
3311 Fri Jul 3 14:39:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3312
3313 * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
3314
3315 Fri Jul 3 14:35:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3316
3317 * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
3318 floating point operations.
3319
3320 Thu Jul 2 18:37:25 1998 Ian Lance Taylor <ian@cygnus.com>
3321
3322 * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
3323 function symbols.
3324
3325 Thu Jul 2 14:59:42 1998 Klaus Kaempf <kkaempf@rmi.de>
3326
3327 Merge of vax/vms (read-only) support
3328 * configure.com: Support Vax target.
3329 * makefile.vms: Support Vax target.
3330 * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
3331 * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
3332 support.
3333 * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
3334 support.
3335 * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
3336 support.
3337 * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
3338 support.
3339 * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
3340 support.
3341 * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
3342 * targets.c (bfd_target_ovax_flavour): New flavour.
3343 (vms_alpha_vec): Renamed from evax_alpha_vec.
3344 (vms_vax_vec): New.
3345 (target_vector): Update accordingly.
3346 * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
3347 evax_alpha_vec.
3348 (vax*-*-*vms*): New target.
3349 * Makefile.am: Update for renamed files. Rebuild dependencies.
3350 * bfd-in2.h: Rebuild.
3351 * configure.in, Makefile.in, aclocal.m4: Rebuild.
3352
3353 Thu Jul 2 13:31:55 1998 Ian Lance Taylor <ian@cygnus.com>
3354
3355 Based on patch from Matt Semersky <matts@scd.hp.com>:
3356 * linker.c (_bfd_generic_final_link): Force a trailing NULL
3357 pointer on abfd->outsymbols.
3358 (generic_add_output_symbol): Handle NULL sym parameter.
3359
3360 Wed Jul 1 17:05:53 1998 Nick Clifton <nickc@cygnus.com>
3361
3362 * elf.c (copy_private_bfd_data): Add support for changing VMA or
3363 LMA of sections.
3364
3365 Wed Jul 1 16:58:50 1998 Ian Lance Taylor <ian@cygnus.com>
3366
3367 * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
3368 when handling 32 bit immediate relocs.
3369 * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
3370
3371 Tue Jun 30 09:55:03 1998 Jeffrey A Law (law@cygnus.com)
3372
3373 * section.c (STD_SECTION): Account for recently added gc_mark
3374 field in struct asection.
3375
3376 * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
3377 (bfd_elf32_bfd_merge_private_bfd_data): Define.
3378
3379 Thu Jun 25 18:31:41 1998 Richard Henderson <rth@cygnus.com>
3380
3381 ELF Section-level Garbage Collection:
3382 * bfd.c (bfd_gc_sections): New.
3383 * aout-adobe.c: Hook to default implementation.
3384 * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
3385 * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
3386 * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
3387 * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
3388 * tekhex.c, versados.c: Likewise.
3389 * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
3390 * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
3391
3392 * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
3393 (bfd_generic_gc_sections): New.
3394 * section.c (SEC_KEEP): New.
3395 (asection): Add gc_mark member.
3396
3397 * elfcode.h (elf_gc*): New name remappings.
3398 * elflink.h (elf_link_input_bfd): Don't set contents on stabs
3399 sections to be excluded.
3400 (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
3401 (elf_gc_propogate_vtable_entries_used): New.
3402 (elf_gc_smash_unused_vtentry_relocs): New.
3403 (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
3404 (elf_gc_common_finalize_got_offsets): New.
3405 (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
3406 * elfxx-target.h: Add and default gc hooks.
3407
3408 * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
3409 for unions.
3410 (struct elf_obj_tdata): Likewise for local_got_offsets.
3411 * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
3412 * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
3413 * elf64-sparc.c, elflink.h: Likewise.
3414
3415 * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
3416 (ELF_LINK_HASH_MARK): Define.
3417 (struct elf_backend_data): Add GC hooks.
3418 * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
3419
3420 * elf-m10300.c (mn10300_elf_check_relocs): New.
3421 (mn10300_elf_gc_mark_hook): New.
3422 (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
3423 (elf_mn10300_howto, mn10300_reloc_map): Handle them.
3424 (mn10300_elf_final_link_relocate): Likewise.
3425 (mn10300_elf_relocate_section): Likewise.
3426 (elf_backend_can_gc_sections): Define.
3427 * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
3428 (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
3429 (bfd_elf32_bfd_reloc_type_lookup): Handle them.
3430 (mips_info_to_howto_rel): Likewise.
3431 (mips_elf_relocate_section): Likewise.
3432 (mips_elf_check_relocs): Likewise.
3433 (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
3434 (elf_backend_can_gc_sections): Define.
3435 * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
3436 (ppc_elf_howto_raw): Handle them.
3437 (ppc_elf_reloc_type_lookup): Likewise.
3438 (ppc_elf_relocate_section): Likewise.
3439 (ppc_elf_check_relocs): Reference count .got and .plt entires.
3440 Handle new vtable relocs.
3441 (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
3442 (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
3443 (elf_backend_can_gc_sections): Define.
3444
3445 Fri Jun 26 10:48:23 1998 Jeffrey A Law (law@cygnus.com)
3446
3447 * archures.c (bfd_mach_mn10300): Define.
3448 * elf-m10300.c: Include elf/mn10300.h
3449 (elf_mn10300_mach): New function.
3450 (_bfd_mn10300_elf_final_write_processing): Likewise.
3451 (_bfd_mn10300_elf_object_p): Likewise.
3452 (elf_backendfinal_write_processing): Define.
3453 (elf_backend_object_p): Likewise.
3454
3455 Thu Jun 25 18:31:08 1998 Nick Clifton <nickc@cygnus.com>
3456
3457 * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
3458 relocation.
3459
3460 Wed Jun 24 17:17:57 1998 Ian Lance Taylor <ian@cygnus.com>
3461
3462 * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
3463 link_next field, not the next field.
3464
3465 Sun Jun 21 19:38:39 1998 Ian Lance Taylor <ian@cygnus.com>
3466
3467 * elf.c (map_sections_to_segments): Check the section address
3468 against the phdr size both with and without a modulo of
3469 maxpagesize.
3470
3471 Fri Jun 19 17:08:18 1998 Ian Lance Taylor <ian@cygnus.com>
3472
3473 * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
3474 linker created empty input section if the output section has the
3475 same name.
3476
3477 * elflink.h (elf_link_output_extsym): Print an error message if
3478 _bfd_elf_section_from_bfd_section fails.
3479
3480 * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
3481 failure.
3482
3483 Tue Jun 16 11:55:55 1998 Ian Lance Taylor <ian@cygnus.com>
3484
3485 * elf.c (copy_private_bfd_data): Improve handling of Solaris
3486 native linker output. Avoid putting an empty section in more than
3487 one segment.
3488
3489 Fri Jun 12 13:30:17 1998 Tom Tromey <tromey@cygnus.com>
3490
3491 * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
3492 ($(PACKAGE).pot): Unconditionally depend on POTFILES.
3493
3494 Fri Jun 12 13:34:02 1998 Doug Evans <devans@canuck.cygnus.com>
3495
3496 * elf.c (swap_out_syms): New arg relocatable_p.
3497 Don't add section VMA to symbols for relocatable output.
3498 (_bfd_elf_compute_section_file_positions): Update call to
3499 swap_out_syms.
3500
3501 Mon Jun 8 15:20:57 1998 Nick Clifton <nickc@cygnus.com>
3502
3503 * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
3504 against 'addend' be signed rather than unsigned.
3505
3506 Sat Jun 6 00:31:21 1998 Nick Clifton <nickc@cygnus.com>
3507
3508 * elf32-m32r.c: Add prototyps for static functions.
3509
3510 * coff-arm.c: Add prototypes for static functions.
3511
3512 Fri Jun 5 17:21:51 1998 Nick Clifton <nickc@cygnus.com>
3513
3514 * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
3515 LMA is used to order sections in a segment.
3516
3517 * elf32-v850.c: Add prototypes for static functions.
3518 Change type of addend parameter to bfd_vma in various functions.
3519
3520 Fri Jun 5 18:09:58 1998 Ian Lance Taylor <ian@cygnus.com>
3521
3522 * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
3523 complain_overflow_signed instead of complain_overflow_bitfield.
3524
3525 Fri Jun 5 15:11:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3526
3527 * elf.c (elf_map_symbols): Don't add section VMA to symbol value
3528 when comparing against 0.
3529
3530 Wed Jun 3 17:52:49 1998 Ian Lance Taylor <ian@cygnus.com>
3531
3532 * Makefile.am (config.status): New target.
3533 * Makefile.in: Rebuild.
3534
3535 Wed Jun 3 12:18:24 1998 Stan Cox <scox@equinox.cygnus.com>
3536
3537 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
3538 error if previous object endianness doesn't match current object.
3539
3540 Tue Jun 2 17:50:59 1998 Nick Clifton <nickc@cygnus.com>
3541
3542 * elf32-v850.c (v850_elf_print_private_bfd_data): Call
3543 _bfd_elf_print_private)bfd_data ().
3544
3545 Tue Jun 2 15:29:35 1998 Ian Lance Taylor <ian@cygnus.com>
3546
3547 * elflink.h (elf_merge_symbol): Don't always set type_change_ok
3548 and size_change_ok.
3549 (elf_link_add_object_symbols): Set type_change_ok and
3550 size_change_ok before calling elf_merge_symbol.
3551
3552 * elf32-mips.c (mips_elf_relocate_section): If we issue an
3553 undefined symbol error, don't also issue an overflow error.
3554
3555 Tue Jun 2 13:51:00 1998 Geoff Keating <geoffk@ozemail.com.au>
3556
3557 * elf32-ppc.c (ppc_elf_relocate_section): The target of an
3558 R_PPC_LOCAL24PC relocation should be local; if not, print an error
3559 message instead of crashing.
3560
3561 Mon Jun 1 18:23:12 1998 Yuli Barcohen <yuli.barcohen@telrad.co.il>
3562
3563 * archures.c (bfd_mach_cpu32): Define.
3564 (bfd_default_scan): Add case for 68060. Fix 68332 case to use
3565 bfd_mach_cpu32.
3566 * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
3567 * ieee.c: Include <ctype.h>.
3568 (ieee_object_p): Parse out process ID string to make it more
3569 likely to be acceptable for bfd_scan_arch.
3570 * bfd-in2.h: Rebuild.
3571
3572 Mon Jun 1 11:12:02 1998 Nick Clifton <nickc@cygnus.com>
3573
3574 * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
3575 _bfd_elf_print_private_bfd_data() so that the program header will
3576 be displayed.
3577
3578 Mon Jun 1 12:14:28 1998 Ian Lance Taylor <ian@cygnus.com>
3579
3580 * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
3581 0x68. Reindent. Add some comments.
3582
3583 Fri May 29 09:58:08 1998 Nick Clifton <nickc@cygnus.com>
3584
3585 * elf.c (copy_private_bfd_data): Adjust physical address of
3586 segment in output BFD to contain LMAs of its sections.
3587
3588 Tue May 26 19:37:47 1998 Stan Cox <scox@equinox.cygnus.com>
3589
3590 * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
3591 elf32_sparc_relocate_section): Added R_SPARC_32LE for little
3592 endian data 32 bit relocations.
3593 (elf32_sparc_merge_private_bfd_data): Check if linking little
3594 endian objects with big endian objects.
3595 (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
3596 (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
3597 * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
3598 * reloc.c: Same.
3599 * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
3600 * archures.c (bfd_mach_sparc_sparclite_le): New.
3601 * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
3602
3603 Thu May 21 16:59:28 1998 Nick Clifton <nickc@cygnus.com>
3604
3605 * peicode.h (add_data_entry): Fix precedence of operators in if ()
3606 statement.
3607
3608 Tue May 19 18:41:19 1998 Ian Lance Taylor <ian@cygnus.com>
3609
3610 * bfd-in.h: Move over patch to bfd-in2.h.
3611
3612 * reloc.c (bfd_check_overflow): Add casts before shifts which may
3613 not fit in 32 bits.
3614 (_bfd_relocate_contents): Likewise.
3615
3616 Mon May 18 14:44:15 1998 Nick Clifton <nickc@cygnus.com>
3617
3618 * peicode.h (add_data_entry): If the section has no private data
3619 then do not create a Data Dictionary entry for it.
3620
3621 Mon May 18 00:09:28 1998 Richard Henderson <rth@cygnus.com>
3622
3623 * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
3624 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
3625 elf64_alpha_size_got_sections): Rewrite, handling multiple got
3626 subsections during relaxation more correctly.
3627
3628 Thu May 14 14:22:58 1998 Nick Clifton <nickc@cygnus.com>
3629
3630 * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
3631 Add extra argument to bfd_arm_process_before_allocation ().
3632 * bfd-in.h: Reflect changes made in bfd-in2.h.
3633 * coffgen.c (bfd_coff_set_symbol_class): New function. Set the
3634 coff class of a BFD symbol.
3635 * coff-arm.c: Add support for interworking between Thumb code and
3636 non-interworking aware ARM code.
3637
3638 Sun May 10 22:33:59 1998 Jeffrey A Law (law@cygnus.com)
3639
3640 * po/Make-in (install-info): New target.
3641
3642 Thu May 7 17:40:56 1998 Ian Lance Taylor <ian@cygnus.com>
3643
3644 * filemode.c: Remove; not used.
3645
3646 If sysdep.h includes a header file, don't include it again:
3647 * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
3648 <errno.h>.
3649 * aoutx.h: Don't include <string.h>. Use "sysdep.h" rather than
3650 <sysdep.h>.
3651 * archive.c: Don't include <string.h> or <errno.h>.
3652 * evax-alpha.c; Don't include <stdio.h>.
3653 * evax-egsd.c: Likewise.
3654 * evax-etir.c: Likewise.
3655 * evax-misc.c: Likewise.
3656 * evax-emh.c: Likewise. Also, don't include <sys/types.h>.
3657 * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
3658 <errno.h>.
3659 * hpux-core.c: Likewise.
3660 * netbsd-core.c: Likewise.
3661 * som.c: Likewise.
3662 * libbfd.c: Don't include <sys/types.h>.
3663 * nlmcode.h: Don't include <string.h>.
3664 * osf-core.c: Don't include <string.h> or <stdio.h>.
3665 * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
3666 <errno.h>, or <unistd.h>.
3667 * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
3668
3669 Thu May 7 13:12:50 1998 Klaus Kaempf <kkaempf@progis.de>
3670
3671 * configure.com: If the version number can not be found in
3672 configure.in, set it to "unknown" rather than "2.8.1".
3673
3674 Wed May 6 09:46:05 1998 Gavin Koch <gavin@cygnus.com>
3675
3676 * elf32-mips.c (elf_mips_mach): New.
3677 (_bfd_mips_elf_object_p): Use elf_mips_mach.
3678 (_bfd_mips_elf_final_write_processing): Use the names
3679 of machines, rather than the numbers. Set both the ARCH
3680 and MACH in e_flags. Handle a few more specific machines.
3681 (_bfd_mips_elf_merge_private_bfd_data): Merge both
3682 EF_MIPS_ARCH and EF_MIPS_MACH.
3683
3684 Tue May 5 21:01:53 1998 Richard Henderson <rth@cygnus.com>
3685
3686 * syms.c (bfd_is_local_label): Revert last change.
3687 * srec.c (srec_write_symbols): Discard debugging symbols.
3688
3689 Tue May 5 23:36:06 1998 Ian Lance Taylor <ian@cygnus.com>
3690
3691 * som.c: Include <ctype.h>.
3692 * som.h: Don't include sysdep.h.
3693
3694 Tue May 5 18:29:24 1998 Tom Tromey <tromey@cygnus.com>
3695
3696 * libbfd.h: Rebuilt.
3697 * libbfd-in.h: Removed gettext includes and defines.
3698 * sysdep.h: Moved gettext-related includes and defines here.
3699
3700 Tue May 5 16:47:54 1998 Richard Henderson <rth@cygnus.com>
3701
3702 * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
3703 an ad-hoc test. Kill bogus #if 0 code.
3704 * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
3705
3706 Mon May 4 16:10:33 1998 Ian Lance Taylor <ian@cygnus.com>
3707
3708 * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
3709 when generating a normal executable for a symbol defined in a
3710 regular file. When copying a reloc into the output file, adjust
3711 the addend for a PC relative reloc against a global symbol.
3712
3713 Mon May 4 10:08:18 1998 Tom Tromey <tromey@cygnus.com>
3714
3715 * libbfd.h: Rebuilt.
3716 * libbfd-in.h (_): Define as dgettext.
3717
3718 Mon May 4 11:02:23 1998 Ian Lance Taylor <ian@cygnus.com>
3719
3720 * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
3721 not signed.
3722 * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
3723 when declaring parameter types.
3724 (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
3725
3726 Wed Apr 29 15:35:03 1998 Ian Lance Taylor <ian@cygnus.com>
3727
3728 * config.bfd: If we include any ELF targets in targ_defvec and/or
3729 targ_selvecs, then add the generic ELF targets to targ_selvecs.
3730 * elf32-gen.c (dummy): New static const variable.
3731 (elf_generic_info_to_howto): New static function.
3732 (elf_generic_info_to_howto_rel): New static function.
3733 (elf_info_to_howto): Define as elf_generic_info_to_howto.
3734 (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
3735 * elf64-gen.c: Same changes as elf32-gen.c.
3736 * elfcode.h (elf_object_p): For the generic target, ignore a
3737 failure of bfd_default_set_arch_mach. Fix indentation a bit.
3738
3739 Tue Apr 28 20:05:52 1998 Ian Lance Taylor <ian@cygnus.com>
3740
3741 * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
3742 * configure: Rebuild.
3743
3744 Tue Apr 28 12:16:57 1998 Jason Molenda (crash@bugshack.cygnus.com)
3745
3746 * config.bfd: Update OSR5/Unixware patterns.
3747
3748 Mon Apr 27 18:02:24 1998 Richard Henderson <rth@cygnus.com>
3749
3750 * elf.c (assign_file_positions_for_segments): Allow for holes
3751 between sections added by a link script.
3752
3753 Mon Apr 27 11:49:55 1998 Ian Lance Taylor <ian@cygnus.com>
3754
3755 * configure.in: Change version number to 2.9.4
3756 * configure: Rebuild.
3757
3758 Based on patch from H.J. Lu <hjl@gnu.org>:
3759 * elf.c (bfd_elf_get_bfd_needed_list): New function.
3760 * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
3761 * bfd-in2.h: Rebuild.
3762
3763 Sat Apr 25 20:07:53 1998 Richard Henderson <rth@cygnus.com>
3764
3765 * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
3766 Change all users.
3767
3768 Sat Apr 25 18:29:07 1998 Richard Henderson <rth@cygnus.com>
3769
3770 * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
3771 (elf64_alpha_relax_section): Fill them in.
3772 (elf64_alpha_relax_opt_call): Implement more than a stub.
3773 (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
3774 alignment on .scommon.
3775 (elf64_alpha_merge_gots): Merge use counts as well.
3776
3777 Sat Apr 25 14:07:29 1998 Richard Henderson <rth@cygnus.com>
3778
3779 * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
3780 for calculating a local symbol's address.
3781 (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
3782 Set the .got's cooked size as well as the raw size.
3783
3784 Fri Apr 24 09:16:00 1998 Nick Clifton <nickc@cygnus.com>
3785
3786 * elf32-v850.c (v850_elf_print_private_bfd_data): Add
3787 internationalisation of printed information.
3788
3789 * coff-arm.c (coff_arm_print_private_bfd_data): Add
3790 internationalisation of printed information.
3791
3792 Fri Apr 24 12:09:18 1998 Ian Lance Taylor <ian@cygnus.com>
3793
3794 * syms.c (struct indexentry): Change directory_name, file_name,
3795 and function_name fields to char *.
3796 (struct stab_find_info): Change cached_file_name field to char *.
3797
3798 Thu Apr 23 08:13:04 1998 Nick Clifton <nickc@cygnus.com>
3799
3800 * peicode.h (dir_names): Add missing N_() macros to dir_names array.
3801
3802 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
3803
3804 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
3805
3806 Wed Apr 22 17:48:48 1998 Ian Lance Taylor <ian@cygnus.com>
3807
3808 * Makefile.am (install-data-local): Make $(includedir).
3809 * Makefile.in: Rebuild.
3810
3811 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
3812
3813 * libbfd-in.h: Use `gettext' and not `dgettext' for now.
3814
3815 Wed Apr 22 12:53:40 1998 Ian Lance Taylor <ian@cygnus.com>
3816
3817 * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
3818 * Makefile.in: Rebuild.
3819
3820 * bfd-in2.h: Rebuild for Nick's changes.
3821
3822 Tue Apr 21 23:11:51 1998 Richard Henderson <rth@cygnus.com>
3823
3824 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
3825 change wrt length == max_namelen.
3826
3827 Tue Apr 21 21:19:36 1998 Tom Tromey <tromey@scribbles.cygnus.com>
3828
3829 * Many files: Added gettext invocations around user-visible
3830 strings.
3831 * libbfd-in.h: Added gettext includes and defines.
3832 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
3833 HAVE_LC_MESSAGES): Define.
3834 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
3835 po/Makefile.
3836 * Makefile.am (SUBDIRS): Added po.
3837 (POTFILES): New macro.
3838 (po/POTFILES.in): New target.
3839 (SOURCE_HFILES): New macro.
3840 (HFILES): Use it.
3841 * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
3842
3843 Tue Apr 21 13:38:18 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3844
3845 * elfcore.h (bfd_prstatus): Copy core_prstatus from the first
3846 NT_PRSTATUS note section encountered, it contains the status of
3847 the currently executing thread when the core file was written.
3848
3849 Tue Apr 21 10:00:12 1998 Nick Clifton <nickc@cygnus.com>
3850
3851 * libcoff.h: Add extra parameter to
3852 bfd_coff_link_output_has_begun overrideable function.
3853 * cofflink.c: Pass extra parameter to
3854 bfd_coff_link_output_has_begun function.
3855 * bfd-in.h: Add prototypes for exported ARM interworking
3856 functions.
3857 * peicode.h: ARM specific code reorganised to conform to BFD
3858 coding conventions.
3859 * coffcode.h: ARM specific code reorganised to conform to BFD
3860 coding conventions.
3861 * coff-arm.c: Code reorganised to conform to the BFD coding
3862 conventions. Global variables have been moved into an ARM
3863 specific hash table structure and a new function:
3864 bfd_arm_get_bfd_for_interworking() has been created which is
3865 called from the linker scripts.
3866
3867 Tue Apr 21 00:11:51 1998 Richard Henderson <rth@cygnus.com>
3868
3869 * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
3870
3871 * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
3872 elf64_alpha_relax_find_reloc_ofs. Changed all callers.
3873 (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
3874 (elf64_alpha_size_got_sections): Don't merge .got sections twice.
3875
3876 Sat Apr 18 01:21:04 1998 Stan Cox <scox@cygnus.com>
3877
3878 * config.bfd: Added sparc86x support.
3879
3880 Fri Apr 17 22:29:04 1998 Ian Lance Taylor <ian@cygnus.com>
3881
3882 * elf32-mips.c (mips_elf_relocate_section): Do not complain about
3883 an out of range pc-relative jump/call to an undefined weak symbol.
3884
3885 Thu Apr 16 13:49:00 1998 Richard Henderson <rth@cygnus.com>
3886
3887 * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
3888 comparisons signed.
3889
3890 Thu Apr 16 11:43:33 1998 Ian Lance Taylor <ian@cygnus.com>
3891
3892 * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
3893 an error other than bfd_error_system_call, set the error to
3894 bfd_error_wrong_format.
3895
3896 * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
3897 bfd_elf32_powerpcle_vec.
3898
3899 * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
3900 program segments are zero, don't set p_paddr_valid.
3901
3902 Wed Apr 15 22:15:16 1998 Richard Henderson <rth@cygnus.com>
3903
3904 * elf64-alpha.c: Initial implementation of relaxation --
3905 (struct alpha_elf_link_hash_entry): Add use_count member.
3906 (elf64_alpha_check_relocs): Initialize and increment it.
3907 (elf64_alpha_can_merge_gots): Check it when considering merging.
3908 (elf64_alpha_merge_gots): Drop entries with zero use.
3909 (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
3910 (elf64_alpha_always_size_sections): Split out got sizing ...
3911 (elf64_alpha_size_got_sections): ... here. New function.
3912 (elf64_alpha_relax_find_reloc_ofs): New function.
3913 (elf64_alpha_relax_with_lituse): Likewise.
3914 (elf64_alpha_relax_without_lituse): Likewise.
3915 (elf64_alpha_relax_opt_call): Likewise.
3916 (elf64_alpha_relax_section): Likewise.
3917 (elf64_alpha_add_symbol_hook): Likewise.
3918 (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
3919 (elf64_alpha_relocate_section): Likewise.
3920 (bfd_elf64_bfd_relax_section): Define.
3921 (elf_backend_add_symbol_hook): Likewise.
3922
3923 Wed Apr 15 16:08:46 1998 Richard Henderson <rth@cygnus.com>
3924
3925 * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
3926 * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
3927 (ELF_MACHINE_ALT1): New. Set to EM_OLD_SPARC64.
3928
3929 Wed Apr 15 11:34:33 1998 Ian Lance Taylor <ian@cygnus.com>
3930
3931 * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
3932 * configure: Rebuild.
3933
3934 Mon Apr 13 16:46:27 1998 Ian Lance Taylor <ian@cygnus.com>
3935
3936 * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
3937 (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
3938 * configure.in: Define and substitute WIN32LDFLAGS and
3939 WIN32LIBADD.
3940 * aclocal.m4: Rebuild with new libtool.
3941 * configure, Makefile.in: Rebuild.
3942
3943 Fri Apr 10 13:44:27 1998 Ian Lance Taylor <ian@cygnus.com>
3944
3945 * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
3946 before any other symbols in the same section.
3947
3948 Wed Apr 8 14:50:23 1998 Michael Meissner <meissner@cygnus.com>
3949
3950 * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
3951 systems.
3952
3953 Tue Apr 7 16:25:31 1998 Gavin Romig-Koch <gavin@cygnus.com>
3954
3955 * dwarf2.c (comp_unit): Move it earlier in the source. Add
3956 addr_size.
3957 (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
3958 Use addr_size for address size, rather than sizeof(bfd_vma).
3959 (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
3960 Fix call to read_address.
3961 (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
3962 Scrap other unneeded arguments. Fix call to read_address.
3963 (scan_unit_for_functions): Fix call to read_attribute.
3964 (parse_comp_unit): We now handle more values for addr_size.
3965 Set addr_size in unit. Fix call to read_attribute and
3966 decode_line_info.
3967
3968 Tue Apr 7 15:44:47 1998 Gavin Romig-Koch <gavin@cygnus.com>
3969
3970 * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
3971
3972 Tue Apr 7 12:35:18 1998 Ian Lance Taylor <ian@cygnus.com>
3973
3974 * archures.c (bfd_default_scan): Add m68k cases back to default
3975 switch, reverting patch of March 25, since IEEE support depends
3976 upon them.
3977
3978 Mon Apr 6 14:06:40 1998 Ian Lance Taylor <ian@cygnus.com>
3979
3980 * Makefile.am (diststuff): New target.
3981 * Makefile.in: Rebuild.
3982
3983 Sun Apr 5 16:21:44 1998 Jeffrey A Law (law@cygnus.com)
3984
3985 * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
3986 som_offset when we have an extended name table.
3987
3988 Sun Apr 5 16:04:39 1998 H.J. Lu <hjl@gnu.org>
3989
3990 * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
3991 trying to copy it.
3992 * Makefile.in: Rebuild.
3993
3994 Fri Apr 3 11:09:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3995
3996 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
3997 symbols when creating a shared library.
3998 (elf_m68k_adjust_dynindx): New function, used by above code.
3999 (elf_m68k_finish_dynamic_sections): Initialize the section
4000 symbols.
4001 (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
4002
4003 Wed Apr 1 16:04:02 1998 Nick Clifton <nickc@cygnus.com>
4004
4005 * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
4006 value 11.
4007
4008 Wed Apr 1 13:36:58 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4009
4010 * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
4011 assertion.
4012
4013 Tue Mar 31 00:12:12 1998 Jeffrey A Law (law@cygnus.com)
4014
4015 * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
4016 absolute symbols.
4017
4018 Mon Mar 30 12:46:15 1998 Ian Lance Taylor <ian@cygnus.com>
4019
4020 * configure.in: Set version to 2.9.1.
4021 * configure: Rebuild.
4022
4023 * Branched binutils 2.9.
4024
4025 Mon Mar 30 12:20:50 1998 Brent Baccala <baccala@freesoft.org>
4026
4027 * syms.c (ENABLE_CACHING): Define.
4028 (struct indexentry): Define.
4029 (struct stab_cache): Remove.
4030 (cmpindexentry): New static function.
4031 (struct stab_find_info): Add new fields: indextable,
4032 indextablesize, cached_indexentry, cached_offset, cached_stab, and
4033 cached_file_name. Remove fields: file_cache, function_cache, and
4034 line_cache.
4035 (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
4036 index table and search it.
4037
4038 Mon Mar 30 10:39:34 1998 Ian Lance Taylor <ian@cygnus.com>
4039
4040 * elf.c (_bfd_elf_copy_private_section_data): Call
4041 copy_private_bfd_data once we've seen the last SEC_ALLOC section.
4042
4043 * cpu-mips.c: Remove trailing comma at end of enumeration list.
4044
4045 Sat Mar 28 16:33:02 1998 Ian Lance Taylor <ian@cygnus.com>
4046
4047 * coff-arm.c: Define all globally visible variables and functions
4048 only when COFF_WITH_PE is not defined.
4049 * configure.in (armpe_little_vec, armpe_big_vec): Add
4050 coff-arm.lo.
4051 * configure: Rebuild.
4052
4053 Fri Mar 27 16:06:02 1998 Ian Lance Taylor <ian@cygnus.com>
4054
4055 Fix some gcc -Wall warnings:
4056 * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
4057 * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
4058 * archures.c (bfd_default_scan): Likewise.
4059 * bfd.c (bfd_scan_vma): Likewise.
4060 * binary.c (mangle_name): Likewise
4061 * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
4062 * coff-sh.c (sh_relocate_section): Likewise.
4063 * coff-stgo32.c (create_go32_stub): Likewise.
4064 * coffcode.h (coff_slurp_line_table): Likewise.
4065 * ecoff.c (_bfd_ecoff_write_armap): Likewise.
4066 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
4067 (assign_file_positions_for_segments): Likewise.
4068 * elf32-mips.c (mips_elf_relocate_section): Likewise.
4069 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
4070 * oasys.c (oasys_write_sections): Likewise.
4071 * ppcboot.c (ppcboot_object_p): Likewise.
4072 (mangle_name): Likewise.
4073 * riscix.c (riscix_fix_pcrel_26): Likewise.
4074 * srec.c (srec_scan): Likewise.
4075 * stabs.c (_bfd_write_section_stabs): Likewise.
4076 * sunos.c (sunos_add_dynamic_symbols): Likewise.
4077 * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
4078 switch. Declare parameters for function pointers.
4079 * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
4080 warning.
4081 * elf.c (elf_sort_sections): Likewise.
4082 * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
4083 Add default cases to switches.
4084 (coff_arm_relocate_section): Remove unused local variables.
4085 Always set rstat.
4086 (coff_arm_bfd_set_private_flags): Change flag variable to type
4087 flagword.
4088 * coff-mips.c (mips_relocate_section): Initialize use_lo.
4089 * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
4090 (dump_toc): Change cat to const, and initialize it.
4091 * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
4092 * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
4093 (sh_elf_relocate_section): Initialize r_symndx.
4094 * coffcode.h (coff_compute_section_file_positions): Only declare
4095 old_sofar if ALIGN_SECTIONS_IN_FILE.
4096 (coff_write_object_contents): Initialize csym.
4097 * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
4098 * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
4099 switch.
4100 * dwarf2.c: Include libiberty.h.
4101 (read_2_signed_bytes, read_4_signed_bytes): Comment out.
4102 (decode_line_info): Remove unused local variables.
4103 * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
4104 (m32r_elf_relocate_section): Likewise.
4105 * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
4106 (v850_elf_reloc): Likewise.
4107 * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
4108 (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
4109 * elf.c (assign_file_positions_for_segments): Always set adjust.
4110 * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully
4111 parenthesize expression.
4112 * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
4113 (m32r_elf_object_p): Return a value.
4114 (m32r_elf_print_private_bfd_data): Change fprintf format string.
4115 * elf32-mips.c (mips_elf_final_link): Initialize last.
4116 (mips_elf_finish_dynamic_sections): Initialize last and dindx.
4117 * elf32-v850.c (v850_elf_object_p): Return a value.
4118 (v850_elf_print_private_bfd_data): Change fprintf format string.
4119 * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
4120 unsigned long.
4121 * elflink.h (elf_link_add_object_symbols): Change vernum to
4122 unsigned int, and initialize it. Change fprintf format string.
4123 (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
4124 when setting or comparing to soname_indx.
4125 (elf_create_pointer_linker_section): Change num_symbols to
4126 unsigned int.
4127 * libcoff-in.h (coff_data_type): Change flags to flagword.
4128 * peicode.h (pe_print_idata): Initialize idx. Change j to
4129 bfd_size_type. Initialize hint_member. Remove useless test to
4130 time_stamp.
4131 (pe_print_edata): Change num_functions and num_names in struct
4132 EDT_type to unsigned long. Remove cast. Change fprintf format
4133 string.
4134 * ppcboot.c (ppcboot_object_p): Change i to size_t.
4135 * reloc.c (bfd_get_reloc_size): Change return type to unsigned
4136 int.
4137 * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
4138 int *. Update uses. Change j to long.
4139 * bfd-in2.h, libcoff.h: Rebuild.
4140
4141 Fri Mar 27 10:10:46 1998 Catherine Moore <clm@cygnus.com>
4142
4143 * elf32-v850.c Remove definition of USE_REL.
4144 (v850_elf_info_to_howto_rela): New function.
4145 (v850_elf_perform_relocation): Renamed from
4146 v850_elf_store_addend_in_insn. Removed replace argument.
4147 (v850_elf_reloc): store the relocation in the addend field instead
4148 of the insn.
4149 (v850_elf_final_link_relocate): Now calls
4150 v850_elf_perform_relocation.
4151 (v850_elf_relocate_section): Remove code to generate REL
4152 relocations.
4153
4154 Thu Mar 26 13:32:17 1998 Ian Lance Taylor <ian@cygnus.com>
4155
4156 * coffcode.h (coff_new_section_hook): Set the type and storage
4157 class in the native symbol information allocated for a new section
4158 symbol.
4159
4160 Thu Mar 26 10:13:41 1998 Nick Clifton <nickc@cygnus.com>
4161
4162 * peicode.h: Chain together calls to
4163 coff_bfd_copy_private_bfd_data and
4164 coff_bfd_print_private_bfd_data.
4165
4166 * coff-arm.c: Add prototypes for
4167 coff_arm_bfd_print_private_bfd_data and
4168 coff_arm_bfd_copy_private_bfd_data.
4169
4170 Wed Mar 25 15:45:55 1998 Nick Clifton <nickc@cygnus.com>
4171
4172 * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
4173 build.
4174
4175 * peicode.h: Call arm-coff private data functions after handling
4176 pe private data.
4177
4178 * coff-arm.c: Turn statics into globals so that they can be shared
4179 both pe and pei backends.
4180
4181 Wed Mar 25 15:19:38 1998 Ian Lance Taylor <ian@cygnus.com>
4182
4183 * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
4184 plain numbers.
4185 (sunos_write_object_contents): Likewise.
4186 * aoutx.h (NAME(aout,machine_type)): Likewise.
4187 * coffcode.h (coff_set_arch_mach_hook): Likewise.
4188
4189 Wed Mar 25 13:59:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4190
4191 * archures.c (bfd_mach_m68*): Add definitions for various m68k
4192 variants.
4193 (bfd_default_scan): Remove m68k special cases.
4194 * bfd-in2.h: Rebuild.
4195 * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
4196 than plain numbers.
4197 * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
4198 * cpu-m68k.c (arch_info_struct): Likewise. Add entry for
4199 m68k:68000.
4200 (bfd_m68k_arch): Set mach field to zero to signal no explicit
4201 selection, change printable_name to just "m68k" and make that the
4202 default instead of m68k:68020.
4203
4204 * aout-tic30.c (NAME): Define this to avoid multiple definitions
4205 from aoutx.h.
4206 (MY_get_section_contents): Define as aout_32_get_section_contents
4207 rather than NAME(aout,get_section_contents).
4208
4209 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
4210
4211 * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
4212 and call bfd_default_set_arch_mach to do the real work.
4213
4214 Wed Mar 25 10:41:35 1998 Richard Henderson <rth@cygnus.com>
4215
4216 * bout.c (BALX): Include return register g14 as part of the insn.
4217 (BALX_MASK): New.
4218 (calljx_callback): Use it.
4219
4220 Wed Mar 25 11:19:28 1998 Ian Lance Taylor <ian@cygnus.com>
4221
4222 * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
4223 * libbfd.h: Rebuild.
4224
4225 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
4226 byte_count to unsigned int.
4227 (mn10300_elf_relax_section): Initialize internal_relocs. Remove
4228 unused local variables.
4229
4230 * evax-alpha.c (evax_close_and_cleanup): Remove unused local
4231 variables er and er1.
4232
4233 * cpu-v850.c: Include <ctype.h>.
4234 (scan): Case isdigit argument to unsigned char.
4235
4236 From Yan Meroth <YAN.MEROTH@st.com>:
4237 * ihex.c (ihex_scan): Add extbase variable so that getting an
4238 extended linear address record does not ignore any previous
4239 extended address.
4240 (ihex_write_object_contents): When writing out an extended linear
4241 address record, zero out any previous extended address.
4242
4243 Tue Mar 24 16:09:43 1998 Manfred Hollstein <manfred@s-direktnet.de>
4244
4245 * ieee.c (do_one): Check section before dereferencing it.
4246 (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
4247 (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
4248
4249 Mon Mar 23 18:51:47 1998 Joel Sherrill <joel@OARcorp.com>
4250
4251 * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
4252
4253 Mon Mar 23 14:23:36 1998 Nick Clifton <nickc@cygnus.com>
4254
4255 * coff-arm.c: Add interworking functions to pe backends.
4256
4257 Fri Mar 20 18:47:20 1998 Ian Lance Taylor <ian@cygnus.com>
4258
4259 * configure.in: Use AM_DISABLE_SHARED.
4260 * aclocal.m4, configure: Rebuild with libtool 1.2.
4261
4262 Fri Mar 20 11:25:41 1998 Nick Clifton <nickc@cygnus.com>
4263
4264 * coff-arm.c (coff_arm_relocate_section): Better error messages
4265 when interowrking conflucts occur. Courtesy of Jonathan Walton
4266 and Tony Thompson.
4267 (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
4268 relocations. Patch courtesy of Jonathan Walton and Tony
4269 Thompson.
4270
4271 Fri Mar 20 02:26:43 1998 Richard Henderson <rth@cygnus.com>
4272
4273 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
4274 part of Feb 22 change controling when to override the existing
4275 symbol with the .plt entry.
4276
4277 Wed Mar 18 09:26:25 1998 Nick Clifton <nickc@cygnus.com>
4278
4279 * config.bfd (targ_cpu): Add thumb-pe target.
4280
4281 * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
4282 functions in PE build.
4283
4284 Sun Mar 8 23:37:26 1998 Stan Cox <scox@equinox.cygnus.com>
4285
4286 * config.bfd (sparclite-*-elf*): Added.
4287
4288 Mon Feb 23 19:31:19 1998 Ian Lance Taylor <ian@cygnus.com>
4289
4290 * configure.in: Add elf.lo to elf shell variable.
4291 * Makefile.am (BFD_LIBS): Remove elf.lo.
4292 (BFD_LIBS_CFILES): Remove elf.c.
4293 (BFD32_BACKENDS): Add elf.lo.
4294 (BFD32_BACKENDS_CFILES): Add elf.c.
4295 * configure, Makefile.in: Rebuild.
4296
4297 1998-02-23 15:53 Richard Henderson <rth@cygnus.com>
4298
4299 * elf32-i386.c (elf_i386_relocate_section): A pc-relative
4300 relocation against a now-local symbol should not have a dynamic
4301 relocation.
4302
4303 Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com>
4304
4305 * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
4306 COFF filehdr flags.
4307 (pe_print_private_bfd_data): Print PE flags. From Mikey
4308 <jeffdb@netzone.com>.
4309
4310 Sun Feb 22 20:39:00 1998 Richard Henderson <rth@cygnus.com>
4311
4312 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
4313 a plt entry when we can determine that we authoritatively define
4314 the symbol.
4315
4316 Sun Feb 22 20:33:05 1998 Richard Henderson <rth@cygnus.com>
4317
4318 * configure.in (COREFILE selection): Remove sparc-*-linux*. They
4319 don't actually use trad-core, but a SunOS-style core file handled
4320 by gdb directly.
4321 * hosts/sparclinux.h: Remove.
4322
4323 Wed Feb 18 15:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
4324
4325 * peicode.h (pe_print_idata): If there is no .idata section, look
4326 for the import tables in some other section. Make the initial
4327 label line up better with the data. Print the import address
4328 table even if there is no import name table. If the import
4329 address table holds actual addresses, print them.
4330
4331 Tue Feb 17 12:58:34 1998 Ian Lance Taylor <ian@cygnus.com>
4332
4333 * libbfd.c (bfd_seek): If fseek fails, save errno around call to
4334 bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not
4335 bfd_error_system_call.
4336
4337 Fri Feb 13 13:11:33 1998 Ian Lance Taylor <ian@cygnus.com>
4338
4339 * Makefile.am (AUTOMAKE_OPTIONS): Define.
4340 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
4341
4342 From H.J. Lu <hjl@gnu.org>:
4343 * Makefile.am (libbfd_la_LDFLAGS): Define.
4344 * Makefile.in: Rebuild.
4345
4346 Thu Feb 12 17:31:11 1998 Ian Lance Taylor <ian@cygnus.com>
4347
4348 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
4349 * netbsd.h (MACHTYPE_OK): Define.
4350 (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
4351 calling N_SET_MACHTYPE, rather than having a switch.
4352 * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
4353 and M_ALPHA_NETBSD.
4354 * i386netbsd.c (MACHTYPE_OK): Don't define.
4355 (DEFAULT_MID): Define.
4356 * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
4357 (MACHTYPE_OK): Don't define.
4358 (DEFAULT_MID): Define.
4359 * m68knetbsd.c: (MACHTYPE_OK): Don't define.
4360 (DEFAULT_MID): Define.
4361 * ns32knetbsd.c (MACHTYPE_OK): Don't define.
4362 (DEFAULT_MID): Define.
4363 * sparcnetbsd.c (MACHTYPE_OK): Don't define.
4364 (DEFAULT_MID): Define.
4365
4366 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
4367 * vaxnetbsd.c: New file.
4368 * netbsd-core.c: Clean up. Remove unused macros. Use netbsd
4369 rather than netbsd_core.
4370 * targets.c (vaxnetbsd_vec): Declare.
4371 (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is
4372 defined, add netbsd_core_vec.
4373 * configure.in: Set COREFILE for alpha*-*-netbsd* and
4374 powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is
4375 netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
4376 * config.bfd (alpha*-*-netbsd*): New target.
4377 * Makefile.am: Rebuild dependencies.
4378 (BFD32_BACKENDS): Add vaxnetbsd.lo.
4379 (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
4380 * configure, Makefile.in: Rebuild.
4381
4382 * configure.host: Remove the old shared library build stuff. We
4383 now use libtool instead.
4384
4385 Wed Feb 11 17:13:09 1998 Richard Henderson <rth@cygnus.com>
4386
4387 * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
4388
4389 Tue Feb 10 19:23:28 1998 H.J. Lu <hjl@gnu.org>
4390
4391 * configure.in: Take stab-syms.lo out of sparclinux_vec list.
4392 * configure: Rebuild.
4393
4394 Tue Feb 10 15:16:38 1998 Nick Clifton <nickc@cygnus.com>
4395 * elf32-v850.c (remember_hi16s_reloc): New function.
4396 (find_remembered_hi16s_reloc): New function.
4397 (v850_elf_store_addend_in_insn): Use the above new functions to
4398 match up HI6S relocs with LO16 relocs.
4399
4400 Tue Feb 10 15:01:39 1998 Ian Lance Taylor <ian@cygnus.com>
4401
4402 * configure.in: Change -linux* to -linux-gnu*.
4403 * config.bfd, configure.host: Likewise.
4404 * configure: Rebuild.
4405
4406 Mon Feb 9 19:40:59 1998 Nick Clifton <nickc@cygnus.com>
4407
4408 * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
4409 LO16/HI16S bug and improve comments about what is going on.
4410
4411 Sat Feb 7 15:27:03 1998 Ian Lance Taylor <ian@cygnus.com>
4412
4413 * configure, aclocal.m4: Rebuild with new libtool.
4414
4415 Fri Feb 6 14:48:20 1998 Nick Clifton <nickc@cygnus.com>
4416
4417 * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
4418 when merging v850 code into v850e/v850ea code. Do not initialise
4419 output flags if the input is the default architecture.
4420
4421 Fri Feb 6 11:50:22 1998 Jeffrey A Law (law@cygnus.com)
4422
4423 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
4424 get the size from bfd_arch_bits_per_address instead of directly
4425 from the isa.
4426
4427 Thu Feb 5 14:21:34 1998 Michael Meissner <meissner@cygnus.com>
4428
4429 * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
4430 to wrap, just return all 1's bits instead.
4431 * libbfd.h: Regenerate.
4432
4433 Thu Feb 5 11:51:05 1998 Ian Lance Taylor <ian@cygnus.com>
4434
4435 * coff-i386.c (coff_pe_i386_relocate_section): New static function
4436 if COFF_WITH_PE.
4437 (coff_relocate_section): If COFF_WITH_PE, define as
4438 coff_pe_i386_relocate_section.
4439 * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
4440 skip empty sections, to match coff_write_object_contents.
4441
4442 * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
4443 rather than swapping out r_offset twice. From Luke Deller
4444 <luked@cse.unsw.edu.au>.
4445
4446 Wed Feb 4 19:11:28 1998 Ian Lance Taylor <ian@cygnus.com>
4447
4448 * configure.in: Set libtool_enable_shared rather than
4449 libtool_shared. Remove diversion hack.
4450 * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
4451 with new libtool.
4452
4453 Wed Feb 4 16:10:21 1998 Brent Baccala <baccala@freesoft.org>
4454
4455 * syms.c (struct stab_cache): Define.
4456 (struct stab_find_info): Remove cached_offset, cached_stab,
4457 cached_str, and cached_stroff fields. Add file_cache,
4458 function_cache, and line_cache fields.
4459 (_bfd_stab_section_find_nearest_line): Use extensive caching to
4460 speed up searches.
4461
4462 Wed Feb 4 13:34:22 1998 Ian Lance Taylor <ian@cygnus.com>
4463
4464 * peicode.h (pe_print_idata): Check for import of ordinal rather
4465 than name.
4466 (pe_print_edata): If there is no .edata section, look for the
4467 export data in some other section.
4468
4469 Mon Feb 2 20:05:42 1998 Jason Molenda (crash@bugshack.cygnus.com)
4470
4471 * configure.in: Change version to 2.8.4.
4472 * configure: Regenerated.
4473
4474 Mon Feb 2 17:39:39 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
4475
4476 Add tms320c30 support:
4477 * cpu-tic30.c: New file.
4478 * aout-tic30.c: New file.
4479 * coff-tic30.c: New file.
4480 * archures.c (bfd_arch_tic30): Define.
4481 (bfd_tic30_arch): Declare.
4482 (bfd_archures_list): Add bfd_tic30_arch.
4483 * targets.c (bfd_target_vector): Add tic30_aout_vec and
4484 tic30_coff_vec.
4485 * reloc.c (BFD_RELOC_TIC30_LDP): Define.
4486 * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
4487 (coff_set_flags): Likewise.
4488 * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
4489 * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
4490 * Makefile.am: Rebuild dependencies.
4491 (ALL_MACHINES): Add cpu-tic30.lo.
4492 (ALL_MACHINES_CFILES): Add cpu-tic30.c.
4493 (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
4494 (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
4495 * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
4496
4497 Mon Feb 2 12:25:12 1998 Nick Clifton <nickc@cygnus.com>
4498
4499 * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
4500 to lag behind LO16 reloc by a couple of instructions.
4501
4502 Mon Feb 2 14:09:46 1998 Ian Lance Taylor <ian@cygnus.com>
4503
4504 * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
4505 make to reexamine the file timestamp.
4506 ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
4507
4508 * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
4509 0x100000.
4510
4511 Fri Jan 30 19:07:07 1998 Geoff Keating <geoffk@ozemail.com.au>
4512
4513 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
4514 to create .dynsbss and .rela.sbss sections.
4515 (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
4516 copied from dynamic objects into .sbss.
4517 (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
4518 use it. Correct typo of .rela.sdata2.
4519 (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
4520 put the data, which may now be in .sbss.
4521 (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
4522 (elf_backend_create_dynamic_sections): Define as
4523 ppc_elf_create_dynamic_sections.
4524
4525 * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
4526 against _GLOBAL_OFFSET_TABLE_.
4527 (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
4528 shared libraries which refer to local symbols. Make sure that the
4529 test for allocating space for a reloc in a shared object is the
4530 same as the test for emitting a reloc.
4531
4532 Thu Jan 29 15:55:35 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
4533
4534 * config.bfd (i[3456]-*-mingw32*): New target.
4535 * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
4536 * aclocal.m4, configure: Rebuild.
4537
4538 Wed Jan 28 13:41:26 1998 Ian Lance Taylor <ian@cygnus.com>
4539
4540 * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
4541 have a bfd_object.
4542
4543 Tue Jan 27 21:43:55 1998 Richard Henderson <rth@cygnus.com>
4544
4545 Sparc v9 ABI compliant PLT:
4546 * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
4547 (plt_templates, sparc64_elf_build_plt_entry): Delete.
4548 (LARGE_PLT_THRESHOLD): New define.
4549 (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
4550 (sparc64_elf_build_plt): New function.
4551 (sparc64_elf_plt_entry_offset): Likewise.
4552 (sparc64_elf_plt_ptr_offset): Likewise.
4553 (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
4554 contain the index for convenience. Skip the initial entries
4555 in .rela.plt.
4556 (sparc64_elf_size_dynamic_sections): Zero the allocated contents
4557 memory for the benefit of .rela.plt.
4558 (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
4559 (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use
4560 sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
4561 (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
4562 Call sparc64_elf_build_plt.
4563 (elf_backend_want_got_plt): No.
4564 (elf_backend_plt_readonly): No.
4565 (elf_backend_plt_alignment): 8.
4566
4567 * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
4568 * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
4569 * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
4570 to be called.
4571
4572 Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com)
4573
4574 * archures.c (bfd_mach_mips*): Add definitions for various MIPS
4575 processors.
4576 * cpu-mips.c (arch_info_struct): Add mips variants.
4577 * bfd-in2.h: Rebuilt.
4578
4579 Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com>
4580
4581 * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
4582 t2a3_b_insn.
4583
4584 Tue Jan 27 12:47:27 1998 Robert Lipe <robertl@dgii.com>
4585
4586 * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
4587 (i[3456]86sco3.2v5*coff): New target.
4588
4589 Mon Jan 26 15:41:30 1998 Ian Lance Taylor <ian@cygnus.com>
4590
4591 * bfd-in2.h: Rebuild with changes to chew--tab expansion.
4592
4593 Thu Jan 22 21:26:48 1998 Richard Henderson <rth@cygnus.com>
4594
4595 * bfd.c (bfd_get_error_handler): Add orthogonal function.
4596 * bfd-in2.h: Regenerate.
4597
4598 Thu Jan 22 21:13:39 1998 Richard Henderson <rth@cygnus.com>
4599
4600 * tekhex.c (tekhex_write_object_contents): Check for no symbols.
4601
4602 Wed Jan 21 21:19:03 1998 Ian Lance Taylor <ian@cygnus.com>
4603
4604 * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
4605 adjust addend for an output common symbol (from Jimmy Blair
4606 <jimmyb@wrs.com>). If COFF_WITH_PE, adjust addend for PC relative
4607 defined symbol to counteract adjustment made in generic relocation
4608 code.
4609
4610 * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
4611
4612 Wed Jan 21 21:16:06 1998 Manfred Hollstein <manfred@s-direktnet.de>
4613
4614 * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
4615 (GET_SCNDHR_NLNNO): Likewise.
4616
4617 Mon Jan 19 12:49:52 1998 Ian Lance Taylor <ian@cygnus.com>
4618
4619 * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
4620
4621 Wed Jan 14 17:23:27 1998 Nick Clifton <nickc@cygnus.com>
4622
4623 * elf32-m32r.c: Add macros to handle NOP insertion.
4624
4625 Wed Jan 14 16:15:22 1998 Richard Henderson <rth@cygnus.com>
4626
4627 * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
4628 (xcoff_mark): Likewise.
4629 (xcoff_build_ldsyms): Mark absolute symbols.
4630
4631 Wed Jan 14 16:03:11 1998 Richard Henderson <rth@cygnus.com>
4632
4633 * bout.c (b_out_write_object_contents): Sort symbols before output
4634 to keep {CALL,BAL}NAME symbols adjacent.
4635 (b_out_symbol_cmp): New function.
4636
4637 For older changes see ChangeLog-9697
4638 \f
4639 Local Variables:
4640 mode: change-log
4641 left-margin: 8
4642 fill-column: 74
4643 version-control: never
4644 End: