Fix a segfault caused by under-allocating an array.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
a017a724
AM
12000-09-21 Alan Modra <alan@linuxcare.com.au>
2
3 * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in
4 currently unused RELATIVE_DYNAMIC_RELOCS code.
5 (hppa_discard_copies): Likewise.
6 (elf32_hppa_size_stubs): Size `input_list' array correctly.
7
b3ea3584
AM
82000-09-20 Alan Modra <alan@linuxcare.com.au>
9
10 * section.c (bfd_get_unique_section_name): Return NULL if
11 bfd_malloc fails.
12
6091b433
NC
132000-09-19 Michael Sokolov <msokolov@ivan.Harhan.ORG>
14
15 * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0
16 instruction sequence to actually work.
17 (elf_m68k_finish_dynamic_sections): Change the patch-in offset
18 accordingly.
19
8a3975e6
AO
202000-09-18 Alexandre Oliva <aoliva@redhat.com>
21
22 * elf32-sh.c (sh_elf_relocate_section): Use
23 _bfd_final_link_relocate to apply the relocation against a section
24 symbol, when doing relocatable links.
25
25f72752
AM
262000-09-18 Alan Modra <alan@linuxcare.com.au>
27
28 * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section
29 to id_sec.
30 (stub_hash_newfunc): Here too.
31 (hppa_add_stub): And here.
32 (elf32_hppa_link_hash_table): Remove stub_section_created,
33 reloc_section_created, first_init_sec and first_fini_sec. Add
34 stub_group.
35 (elf32_hppa_link_hash_table_create): Init to suit.
36 (hppa_get_stub_entry): Add support for grouping stub sections.
37 (hppa_add_stub): Likewise. Remove sec_count param and init/fini
38 section code. Index stub vars by section->id.
39 (elf32_hppa_size_stubs): Likewise. Remove duplicated function
40 exit paths. Zap allocation of above removed vars. Refine
41 link-once test.
42
43 * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param.
44 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
45 (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table
46 rather than pointer to bfd_link_info.
47 (hppa_add_stub): Likewise.
48 (final_link_relocate): Likewise.
49
502000-09-17 David Huggins-Daines <dhd@linuxcare.com>
51
52 (elf32_hppa_size_stubs): Don't try to build stubs for discarded
53 link-once sections.
54
4bb5e078
AO
552000-09-16 Alexandre Oliva <aoliva@redhat.com>
56
57 * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
58 ld/emulparams/shelf.sh.
59
0752970e
NC
602000-09-10 Michael Sokolov <msokolov@ivan.Harhan.ORG>
61
62 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function.
63 * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration.
64 * bfd-in2.h: Regenerate.
65
ffcb7aff
NC
662000-09-15 Kenneth Block <Kenneth.Block@compaq.com>
67
68 * bfd/elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
69 LITUSE relocations incorrectly if -relax is specified on the ld
70 command line and the displacement field of the load or store
71 instruction is non-zero. (Patch by paul.winalski@compaq.com)
72
d5c73c2f
AM
732000-09-15 Alan Modra <alan@linuxcare.com.au>
74
75 * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and
76 first_fini_sec here.
77 (elf32_hppa_size_stubs): Instead correctly find the first .init
78 and .fini section here.
79
802000-09-15 David Huggins-Daines <dhd@linuxcare.com>
81
82 * elf32-hppa.c (clobber_millicode_symbols): New function.
83 (elf32_hppa_size_dynamic_sections): Call it.
84
74d1c347
AM
852000-09-14 Alan Modra <alan@linuxcare.com.au>
86
87 * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call
88 packed. Add plabel, plt_abs packed booleans.
89 (hppa_link_hash_newfunc): Init new fields.
90 (PLABEL_PLT_ENTRY_SIZE): Define.
91 (hppa_stub_name): Use size_t len vars.
92 (hppa_add_stub): Likewise.
93 (elf32_hppa_build_stubs): Likewise.
94 (hppa_build_one_stub): Kill some compiler warnings.
95 (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs
96 if dynamic linking. Munge the local plt offsets into
97 local_got_refcounts. Set h->plabel for all global PLABELs. Use
98 size_t len vars. Add assert for plabel addend.
99 (elf32_hppa_gc_sweep_hook): Sweep local plt entries too.
100 (elf32_hppa_hide_symbol): New function.
101 (elf_backend_hide_symbol): Define.
102 (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries
103 with h->plabel set. Don't make plt entries to have dynamic syms
104 when they have been forced local. If plt entry is used by a
105 plabel, make it PLABEL_PLT_ENTRY_SIZE.
106 (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns.
107 Set up .plt offsets for local syms.
108 (elf32_hppa_relocate_section): Initialise plt entries for local
109 syms. Leave weak undefined plabels zero. Make global plabel
110 relocs against function symbol, and leave the addend zero.
111 Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs.
112 (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for
113 non-dynamic syms. Init extra plt for plabels. Use *ABS* DIR32
114 relocs instead of SEGREL32 for dynamic got relocs.
115 (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry.
116 (elf_backend_got_header_size): Adjust.
117 (elf32_hppa_set_gp): Calculate an "ideal" LTP.
118
119 * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define.
120 (hppa_type_of_stub): Use it instead of #if 0
121 (hppa_discard_copies): Use it here too.
122 (elf32_hppa_size_dynamic_sections): And here.
123
124 * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field.
125 (elf32_hppa_link_hash_table_create): And here.
126 (hppa_build_one_stub): And here. Instead keep track of stub
127 offset using _raw_size.
128 (elf32_hppa_size_stubs): Likewise.
129 (elf32_hppa_build_stubs): Likewise.
130 (hppa_size_one_stub): Likewise. Resize reloc section too.
131
132 * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and
133 first_fini_sec handling. Don't search for reloc section or set
134 hplink->reloc_section_created here.
135 (elf32_hppa_size_stubs): Instead search for reloc sections, and
136 set reloc_section_created here.
137 (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT.
138 (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT
139 and DT_FINI.
140 (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI.
141
142 * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)'
143 with `hplink->root.'.
144 (elf32_hppa_check_relocs): Likewise.
145 (elf32_hppa_gc_sweep_hook): Likewise.
146 (elf32_hppa_adjust_dynamic_symbol): Likewise.
147 (hppa_handle_PIC_calls): Likewise.
148 (elf32_hppa_size_dynamic_sections): Likewise.
149 (elf32_hppa_set_gp): Likewise.
150 (elf32_hppa_relocate_section): Likewise.
151 (elf32_hppa_finish_dynamic_symbol): Likewise.
152 (elf32_hppa_finish_dynamic_sections): Likewise.
153
154 From David Huggins-Daines <dhd@linuxcare.com>
155 * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for
156 defined weak symbols in shared links.
157 (final_link_relocate): Calls to defined weak symbols in shared
158 objects must go via import stubs, as the target might not be known
159 at link time.
160
06bb75c1
AO
1612000-09-14 Alexandre Oliva <aoliva@redhat.com>
162
163 * elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32,
164 R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE,
165 R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167. Replaced
166 the original entries with EMPTY_HOWTOs, and added new ones to fill
167 in the gap.
168 (sh_elf_info_to_howto): Make sure the new gap isn't used.
169 (sh_elf_relocate_section): Likewise.
170
156c2f8b
NC
1712000-09-13 Anders Norlander <anorland@acc.umu.se>
172
173 * cpu-mips.c (arch_info_struct): Add mips:4K
174 * bfd-in2.h (bfd_mach_mips4K): New define.
175 * archures.c: Add bfd_mach_mips4K to comment.
176 * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
177 E_MIPS_ARCH_2 for bfd_mach_mips4K.
178
8681fbcd
JL
179Wed Sep 13 19:31:39 2000 Marco Franzen <marcof@thyron.com>
180
181 * som.c (som_write_symbol_strings): Do not used fixed buffers,
182 use size_t as a counter.
183 (som_write_space_strings): Similarly.
184
c1e8b710
JE
1852000-09-12 Jason Eckhardt <jle@cygnus.com>
186
187 * elf32-i860.c (elf32_i860_relocate_pc26): New function
188 and prototype.
189 (elf32_i860_relocate_section): Invoke new function from here.
190
dbf48117
NC
1912000-09-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
192
193 * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names
194 static.
195
ff0829fd
NC
1962000-09-10 Michael Sokolov <msokolov@ivan.Harhan.ORG>
197
198 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for
199 target section name instead of dumping core when the target symbol is
200 undefined.
201
27985c55
KH
2022000-09-09 Kazu Hirata <kazu@hxi.com>
203
204 * riscix.c: Remove DEFUN.
205
fe077fa6
NC
2062000-09-08 Nick Clifton <nickc@redhat.com>
207
208 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
209 initialise flags in output bfd if the input bfd is the default
210 architecture with the default flags.
211
d70910e8
KH
2122000-09-08 Kazu Hirata <kazu@hxi.com>
213
214 * archive.c: Fix formatting.
215 * coff-arm.c: Likewise.
216 * doc/chew.c: Likewise.
217
77cb06e9
AM
2182000-09-08 Alan Modra <alan@linuxcare.com.au>
219
220 * section.c (bfd_get_unique_section_name): Put a dot before the
221 numeric suffix.
222
c044fabd
KH
2232000-09-07 Kazu Hirata <kazu@hxi.com>
224
256d98af 225 * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID.
c044fabd
KH
226 * elf.c: Fix formatting.
227
b129bfef
AO
2282000-09-07 Alexandre Oliva <aoliva@redhat.com>
229
230 * config.bfd (sh-*-linux*): Added.
231 * configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New.
232 * targets.c: Declare them.
233 * elf32-sh-lin.c: New file.
234 * Makefile.am: Compile it.
235 * elf32-sh.c: Don't override defines from elf32-sh-lin.c.
236 * configure, Makefile.in: Rebuilt.
237
492055e6
GK
2382000-09-06 Geoffrey Keating <geoffk@cygnus.com>
239
240 * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss
77cb06e9
AM
241 pseduo-section when determining where the TOC ends.
242
243 * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to
244 output x_tvndx as it is only two bytes wide.
245
246 * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute
247 reloc is 26 or 32 bits wide.
248
249 * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant
250 for relocs that don't change anything. Also look at the full
251 6 bits of bitsize.
492055e6 252
566ad7d7
PB
2532000-09-06 Philip Blundell <philb@gnu.org>
254
255 * config.bfd (arm*-*-uclinux*): New target.
256
90f2472a
AO
2572000-09-06 Alexandre Oliva <aoliva@redhat.com>
258
259 * configure: Rebuilt with new libtool.m4.
260
a966dba9
AM
2612000-09-06 Alan Modra <alan@linuxcare.com.au>
262
263 * section.c (bfd_get_unique_section_name): Avoid c++ reserved
264 word for variable name.
265 * bfd-in2.h: Regenerate.
77cb06e9 266
5b343f5a
NC
2672000-09-05 Nick Clifton <nickc@redhat.com>
268
269 * config.in: Regenerate.
270 * libbfd.h: Regenerate.
271 * po/bfd.pot: Regenerate.
272 * doc/bfdint.texi: Remove CVS date string - it foils compares with
273 local versions.
77cb06e9 274
188ac662
GK
2752000-09-05 Steven Johnson <sbjohnson@ozemail.com.au>
276
277 * cpu-powerpc.c (arch_info_struct): Added MPC860 Family entry.
278
49bd834c
AM
2792000-09-05 Alan Modra <alan@linuxcare.com.au>
280
30667bf3
AM
281 Shared library and PIC support.
282 * elf32-hppa.c (PLT_ENTRY_SIZE): New.
283 (GOT_ENTRY_SIZE): New.
284 (ELF_DYNAMIC_INTERPRETER): New.
285 (STUB_SUFFIX): Define.
286 (LONG_BRANCH_PIC_IN_SHLIB): Define.
287 (RELATIVE_DYNAMIC_RELOCS): Define.
288 (enum elf32_hppa_stub_type): New.
289 (struct elf32_hppa_stub_hash_entry): Rename offset to
290 stub_offset. Add a number of new fields.
291 (struct elf32_hppa_link_hash_entry): New.
292 (struct elf32_hppa_link_hash_table): Add numerous fields. Remove
293 global_value.
294 (elf32_hppa_hash_table): Rename to hppa_link_hash_table.
295 (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup.
296 (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc. Init
297 new fields.
298 (hppa_link_hash_newfunc): New function.
299 (elf32_hppa_link_hash_table_create): Use above function. Init new
300 fields.
301 (elf32_hppa_stub_name): Rename to hppa_stub_name. Pass in reloc
302 instead of addend, and remove sym_name from args. Don't use
303 symbol name for local syms, instead use sym index.
304 (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return
305 stub type rather than size. Pass in hash and handle import stub
306 case. Also pass in reloc instead of offset so we can calculate
307 PCREL22F and PCREL12F branches properly.
308 (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub. Build
309 import and export stubs too.
310 (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub. Handle
311 import and export stub sizing.
312 (elf32_hppa_check_relocs): New function.
313 (elf32_hppa_adjust_dynamic_symbol): New function.
314 (hppa_discard_copies): New function.
315 (elf32_hppa_size_dynamic_sections): New function.
316 (elf_backend_size_dynamic_sections): Define.
317 (elf32_hppa_finish_dynamic_symbol): New function.
318 (elf_backend_finish_dynamic_symbol): Define.
319 (elf32_hppa_size_stubs): Stash params in link hash table, and move
320 some local vars into the link hash table too. For shared links,
321 trundle over function syms, generating export stubs. Handle
322 PCREL22F branches. Break out stub creation code from here..
323 (hppa_add_stub): .. to here. New function.
324 (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't
325 call the bfd linker. Use elf_gp to record global pointer.
326 Calculate a value from sections if $global$ is missing.
327 (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link.
328 (elf32_hppa_gc_mark_hook): New function.
329 (elf_backend_gc_mark_hook): Define.
330 (elf32_hppa_gc_sweep_hook): New function.
331 (elf_backend_gc_sweep_hook): Define.
332 (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate.
333 Add rel to args, and remove howto, input_bfd, offset, addend,
334 sym_name as we can recalculate these locally. Handle calls to
335 dynamic objects, extra PIC relocs, PCREL22F branches. Change
336 handling of undefined weak syms. Check that stubs are in range.
337 Only look for import stubs on PCREL17F and PCREL22F relocs. Add
338 message on hitting a DPREL21L reloc that needs fixing. Subtract
339 off PC for PCREL14F. Break out code that does a stub lookup from
340 here..
341 (hppa_get_stub_entry): ..to here. New function.
342 (elf32_hppa_relocate_insn): Merge into final_link_relocate.
343 (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic
344 relocs, etc. etc.
345 (elf32_hppa_finish_dynamic_sections): New function.
346 (elf_backend_finish_dynamic_sections): Define.
347 (elf_backend_final_write_processing) Define.
348 (hppa_handle_PIC_calls): New function.
349 (elf32_hppa_build_stubs): Call it. Pass link_info to
350 hppa_build_one_stub.
351 (elf32_hppa_create_dynamic_sections): New function
352 to create .plt and .got then set .plt flags correctly.
353 (elf_backend_create_dynamic_sections): Define.
354 (elf32_hppa_object_p): New function.
355 (elf_backend_object_p): Define.
356 (elf32_hppa_elf_get_symbol_type): New function.
357 (elf_backend_get_symbol_type): Define.
358 (elf_backend_can_gc_sections): Define.
359 (elf_backend_want_got_plt): Define.
360 (elf_backend_plt_alignment): Set to 2.
361 (elf_backend_plt_readonly): Define.
362 (elf_backend_want_plt_sym): Define.
363 (elf_backend_got_header_size): Reserve one entry.
364
365 * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd.
366 (elf32_hppa_size_stubs): Pass in multi_subspace.
367 (elf32_hppa_set_gp): Declare.
368
1bd91689
AM
369 * section.c (SEC_HAS_GOT_REF): Define new flag for asection.
370 (bfd_get_unique_section_name): New function.
371 * bfd_in2.h: Regenerate.
372
832d951b
AM
373 * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F.
374 (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc
375 comment.
376
377 From David Huggins-Daines <dhd@linuxcare.com>
378 * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning.
379 (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx.
380 (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has
381 been updated in finish_dynamic_symbol before modifying function
382 symbol.
383
49bd834c
AM
384 * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of
385 eight entries. Replace NULL with bfd_elf_generic_reloc. Add
386 R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F.
387 (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*. Add some
388 comments. Handle format == 12 for R_HPPA_PCREL_CALL.
389 (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F.
390 (elf_hppa_relocate_insn): Likewise. Reformat some comments.
391 (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32.
392
393 From David Huggins-Daines <dhd@linuxcare.com>
394 * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF
395 style of local labels as well.
396
05924f36
PB
3972000-09-03 Philip Blundell <philb@gnu.org>
398
399 * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
400 references to undefined symbols in debugging sections.
401
3d96075c
L
4022000-09-02 H.J. Lu <hjl@gnu.org>
403
404 * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
405 BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
406 BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
407 section.
408
de24da47
JE
4092000-09-02 Jason Eckhardt <jle@cygnus.com>
410
411 * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
412 (elf32_i860_is_local_label_name): New function and prototype.
413
18e03609
NC
4142000-09-02 Nick Clifton <nickc@redhat.com>
415
416 * configure.in: Increase version number to 2.10.91.
417 * configure: Regenerate.
418 * aclocal.m4: Regenerate.
419 * config.in: Regenerate.
420 * po/bfd.pot: Regenerate.
77cb06e9 421
7a6cc5fb
NC
4222000-09-02 Daniel Berlin <dberlin@redhat.com>
423
424 * elf.c (_bfd_elf_make_section_from_shdr): Add
425 .gnu.linkobce.wi. to the list of debug section names.
426
a092b084
NC
4272000-09-02 Nick Clifton <nickc@redhat.com>
428
429 * dwarf2.c (find_debug_info): New function: Locate a section
430 containing dwarf2 debug information.
431 (bfd_dwarf2_find_nearest_line): Find all sections containing
432 debug information and include them in the stash.
433
37c644f2
AO
4342000-09-01 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
435
436 * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
437 R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
438 (sh_reloc_map): Add new relocs.
439 (sh_elf_check_relocs, sh_elf_link_hash_newfunc,
440 sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
441 sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
442 sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
443 functions.
444 (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
445 (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
446 elf_sh_plt_entry_be, elf_sh_plt_entry_le,
447 elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
448 New array constants.
449 (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
450 New variables.
451 (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
452 elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
453 elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
454 elf_sh_plt_reloc_offset): Define.
455 (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
456 elf_sh_link_hash_table): New structs.
457 (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
458 (sh_elf_relocate_section, sh_elf_check_relocs): Handle new
459 relocation types.
460 (elf_backend_create_dynamic_sections,
461 bfd_elf32_bfd_link_hash_table_create,
462 elf_backend_adjust_dynamic_symbol,
463 elf_backend_size_dynamic_sections,
464 elf_backend_finish_dynamic_symbol,
465 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
466 elf_backend_plt_readonly, elf_backend_want_plt_sym,
467 elf_backend_got_header_size, elf_backend_plt_header_size):
468 Define.
469 * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
470 BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
471 New relocs.
472 * bfd-in2.h, libbfd.h: Rebuilt.
473
791987af
AM
4742000-09-01 Alan Modra <alan@linuxcare.com.au>
475
476 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
477 change.
478
a39b79b9
JR
479Thu Aug 31 22:49:30 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
480
481 * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
482 not initialized, set them to indicate the SH1 instruction set.
483
ac48eca1
AO
4842000-08-31 Alexandre Oliva <aoliva@redhat.com>
485
486 * acinclude.m4: Include libtool and gettext macros from the
487 top level.
488 * aclocal.m4, configure: Rebuilt.
489
7ee38065
MS
4902000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>
491
492 * elf.c: Eliminate references to __sparcv9 macro; replace with
493 autoconf variables HAVE_PSINFO32_T etc.
494 * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
495 HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
496 * config.in: Ditto.
497 * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
498 detect the above typedefs. (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
499 * aclocal.m4: Ditto.
500 * configure: Regenerate.
501
f69da49f
AM
5022000-08-27 Alan Modra <alan@linuxcare.com.au>
503
504 * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
505 for any shared link, not just shared -Bsymbolic.
506 (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
507 any shared link, and pass link info to it.
508 (elf_i386_size_dynamic_sections): Update comment.
509 (elf_i386_discard_copies): Modify to discard relocs for symbols
510 that have been forced local.
511 (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
512 that have been forced local.
513
724982f6
NC
5142000-08-24 Denis Chertykov <denisc@overta.ru> & Nick Clifton <nickc@redhat.com>
515
516 * elflink.h (elf_link_add_object_symbols): Allow common
517 symbols to have an alignment of 1 if explicitly requested, and
518 not overridden by other definitions.
519
371e71b8
NC
5202000-08-22 Doug Kwan <dkwan@transmeta.com>
521
522 * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
523 * coffcode.h (coff_set_flags): Add detection of w65 architecture.
524
a963dc6a
L
5252000-08-22 H.J. Lu <hjl@gnu.org>
526
527 * elf-bfd.h (elf_link_hash_table): Add runpath.
528
529 * bfd-in.h (bfd_elf_get_runpath_list): New prototype.
530 * bfd-in2.h: Rebuilt.
531
532 * elf.c (_bfd_elf_link_hash_table_init): Initialize the
533 "runpath" field to NULL.
534 (bfd_elf_get_runpath_list): New function.
535
536 * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
537 DT_RUNPATH entries.
538
9bdafcce
AO
5392000-08-22 Alexandre Oliva <aoliva@redhat.com>
540
541 * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
542 R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
543 explicitly. Improve validation of r_type.
544
7a9af8c4
NC
5452000-08-21 H.J. Lu <hjl@gnu.org>
546
547 * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
548 dynamic allocated content space. Add a comment to remind us that
549 one day this ought to be fixed.
550 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
551 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
552 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
553
ded0649c
JE
5542000-08-21 Jason Eckhardt <jle@cygnus.com>
555
556 * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
557 field with the newly relocated value instead of adding it to the
558 existing immediate field.
559 (elf32_i860_relocate_splitn): Likewise.
560 (elf32_i860_relocate_highadj): Likewise.
561
d670a150
JE
5622000-08-16 Jason Eckhardt <jle@cygnus.com>
563
564 * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
565 was previously just a stub).
566
bb0deeff
AO
5672000-08-16 Alexandre Oliva <aoliva@redhat.com>
568
569 * elflink.c (_bfd_elf_create_got_section): Don't abort().
570 Formatting fixes.
571 (_bfd_elf_create_dynamic_sections): Likewise.
572
be040dbb
JJ
5732000-08-16 Andrew Macleod <amacleod@cygnus.com>
574
575 * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
576 for undefined symbols to be the beginning of the section.
577
578 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
579 four extra entries at the beginning of the .rela.plt section.
580 (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
581 section to account for the four reserved entries in the .plt section.
582
31612ca6
GK
5832000-08-15 Geoffrey Keating <geoffk@cygnus.com>
584
585 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
586 to the list of NOPs we recognize after a branch-and-link.
587 Use the ori NOP when one is needed.
588
589 * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
590 for large archives.
591
c43c2cc5
JW
5922000-08-14 Jim Wilson <wilson@cygnus.com>
593
594 * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
595 EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
596 (elf64_ia64_print_private_bfd_data): Likewise. Also handle
597 EF_IA_64_ABSOLUTE.
598
1630fd2b
AO
5992000-08-11 Alexandre Oliva <aoliva@redhat.com>
600
601 * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
602
fdeafce7
JE
6032000-08-10 Jason Eckhardt <jle@cygnus.com>
604
77cb06e9
AM
605 * elf32-i860.c (elf32_i860_relocate_section): New function.
606 (i860_final_link_relocate): New function.
607 (elf32_i860_relocate_splitn): New function.
608 (elf32_i860_relocate_pc16): New function.
609 (elf32_i860_relocate_highadj): New function.
610 (elf32_i860_howto): Minor adjustments to some relocations.
611 (elf_info_to_howto_rel): Define.
612 (elf_backend_relocate_section): Define.
fdeafce7 613
9b485d32
NC
6142000-08-10 Nick Clifton <nickc@cygnus.com>
615
616 * elf32-arm.h: Fix formatting.
617
00fdaf47
BS
6182000-08-10 Bernd Schmidt <bernds@cygnus.co.uk>
619
620 * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
621
305d537e
JE
6222000-08-08 Jason Eckhardt <jle@cygnus.com>
623
624 * elf32-i860.c (elf32_i860_howto_table): Updated some fields.
625
46f5aac8
KH
6262000-08-07 Kazu Hirata <kazu@hxi.com>
627
dce61835
KH
628 * ieee.c (ieee_write_debug_part): Rewrite a comment.
629 * elf64-ia64.c: Fix a typo.
46f5aac8 630
0e5136c6
JE
6312000-08-05 Jason Eckhardt <jle@cygnus.com>
632
633 * elf32-i860 (elf32_i860_howto_table): New structure.
634 (lookup_howto): New function.
635 (elf32_i860_reloc_type_lookup): New function.
636 (elf32_i860_info_to_howto_rela): New function.
637 (elf_code_to_howto_index): New structure.
638 (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
639 (bfd_elf32_bfd_reloc_type_lookup): Re-define as
640 elf32_i860_reloc_type_lookup.
641
7dca057b
JL
6422000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
643
644 * som.c (struct fixup_format): Constify `format'.
645 (som_hppa_howto_table): Use SOM_HOWTO macro.
646 (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
647 (som_bfd_reloc_type_lookup): Likewise.
648 (compare_subspaces): Remove unused `count1', `count2'.
649 (som_begin_writing): Remove unused `total_reloc_size'.
650 (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
651 (som_print_symbol, som_bfd_is_local_label_name): Likewise.
652 (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
653 (som_find_nearest_line): Decorate unused parameter(s).
654 (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
77cb06e9 655 (som_bfd_link_split_section): Likewise.
7dca057b 656
bc67d8a6
NC
6572000-08-03 Nick Clifton <nickc@cygnus.com>
658
659 * section.c: Restore backed out code.
660 * elf.c: Restore backed out code.
661 (copy_private_bfd_data): Fix bug preventing stipped dynamic
662 binaries from working.
663 * bfd-in2.h: Regenerate.
664
c0f7859b
L
6652000-08-03 H.J. Lu <hjl@gnu.org>
666
667 * section.c: Back out the change made by Nick Clifton
668 <nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
669 binaries.
670 * bfd-in2.h: Likewise.
671 * elf.c: Likewise.
672
61ff1804
AO
6732000-08-03 Alexandre Oliva <aoliva@redhat.com>
674
675 * elf32-sh.c (sh_elf_reloc_loop): Warning removal.
676
a87fdb8d
JE
6772000-07-31 Jason Eckhardt <jle@cygnus.com>
678
77cb06e9
AM
679 * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
680 * bfd-in2.h, libbfd.h: Regenerate.
a87fdb8d 681
5c440b1e
NC
6822000-07-31 Nick Clifton <nickc@cygnus.com>
683
684 * section.c (struct sec): Add new boolean field 'segment_mark'.
685 (STD_SECTION): Initialise new field to zero.
686
687 * bfd-in2.h: Regenerate.
688
77cb06e9 689 * elf.c (copy_private_bfd_data): Reorganise section to segment
5c440b1e
NC
690 mapping to cope with moved sections requiring new segments,
691 and overlapping segments.
692 (SEGMENT_END): New macro: Return the end address of a segment.
693 (IS_CONTAINED_BY_VMA): New macro: Determine if a segment
694 contains a section by comparing their VMA addresses.
695 (IS_CONTAINED_BY_LMA): New macro: Determine if a segment
696 contains a section by comparing their LMA addresses.
697 (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
698 section should be included in a segment.
699 (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
700 follows another in memory.
701 (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
702 segments overlap.
703
aa76cae8 7042000-07-22 Jason Eckhardt <jle@cygnus.com>
24208c5c
JE
705
706 * cpu-i860.c: Added comments.
707
708 * elf32-i860.c (TARGET_LITTLE_SYM): Defined to
709 bfd_elf32_i860_little_vec.
710 (TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
711 (ELF_MAXPAGESIZE): Changed to 4096.
712
713 * targets.c (bfd_elf32_i860_little_vec): Declaration of
714 new target.
715 (bfd_target_vector): Added bfd_elf32_i860_little_vec.
716
717 * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
718 config for little endian elf32 i860.
719 (targ_defvec): Define for the new config above
77cb06e9 720 as "bfd_elf32_i860_little_vec".
24208c5c
JE
721 (targ_selvecs): Define for the new config above
722 as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
723
724 * configure.in (bfd_elf32_i860_little_vec): Added recognition
725 of new target vec.
726
727 * configure: Regenerated.
728
456981d7
L
7292000-07-27 H.J. Lu <hjl@gnu.org>
730
731 * elflink.h (elf_merge_symbol): Take one more argument,
732 dt_needed, to indicate if the symbol comes from a DT_NEEDED
733 entry. Don't overide the existing weak definition if dt_needed
734 is true.
735 (elf_link_add_object_symbols): Pass dt_needed to
736 elf_merge_symbol ().
737
755cfd29
NC
7382000-07-27 Nick Clifton <nickc@cygnus.com>
739
740 * elflink.h (elf_link_size_reloc_section): Zeroes the section's
741 allocated contents.
742
1a6df346
GK
7432000-07-25 Geoffrey Keating <geoffk@cygnus.com>
744
adfdf838
GK
745 * configure.host (*-*-aix*): AIX has 'long long' always.
746
1a6df346
GK
747 * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
748 (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
749 (xcoff_write_archive_contents_big): Don't update the offset
750 of the symbol table, xcoff_write_armap will do it.
751
313ba8d6
UC
7522000-07-23 Ulf Carlsson <ulfc@engr.sgi.com>
753
754 * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
755 of dynobj for SGI_COMPAT checks.
756
3eb6f68f 7572000-07-21 Michael Sokolov <msokolov@ivan.Harhan.ORG>
20bccb34 758
77cb06e9
AM
759 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
760 * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
761 * bfd-in2.h: Regenerate.
20bccb34 762
7a3120d9
NC
7632000-07-21 Nick Clifton <nickc@cygnus.com>
764
765 * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
766 range symbol indices in relocs and issue an error message.
767
4d538889
L
7682000-07-20 H.J. Lu <hjl@gnu.org>
769
770 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
771 info->new_dtags when setting DT_FLAGS_1. It will only be set
772 by the new linker options. It shouldn't break anything.
773
b586af58
L
7742000-07-20 H.J. Lu <hjl@gnu.org>
775
776 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
777 only if info->new_dtags is true.
778
c25373b7
L
7792000-07-20 H.J. Lu <hjl@gnu.org>
780
781 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
782 DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
783
06c15ad7
HPN
7842000-07-20 Hans-Peter Nilsson <hp@axis.com>
785
786 * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
787 (ALL_MACHINES_CFILES): Add cpu-cris.c.
788 (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
789 (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
790 (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
791 * Makefile.in: Rebuild.
792 * aclocal.m4: Rebuild.
793 * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
794 * archures.c (enum bfd_architecture): Add bfd_arch_cris.
795 (bfd_cris_arch): Declare.
796 (bfd_archures_list): Add bfd_cris_arch.
797 * bfd-in2.h: Rebuild.
798 * config.bfd: (cris-*-*): New target.
799 * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
800 * configure: Rebuild.
801 * elf.c (prep_headers): Add bfd_arch_cris.
802 * libbfd.h: Rebuild.
803 * libaout.h (enum machine_type): Add M_CRIS.
804 * reloc.c: Add CRIS relocations.
3bd336f7 805 * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare.
06c15ad7
HPN
806 (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
807 * cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
808 * po/POTFILES.in, po/bfd.pot: Regenerate.
809
d6cf2879
L
8102000-07-19 H.J. Lu <hjl@gnu.org>
811
812 * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
813 DF_TEXTREL if DT_TEXTREL is set.
814 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
815 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
816 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
817 * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
818 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
819 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
820 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
821 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
822 * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
823 * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
824
c25373b7 825 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
d6cf2879
L
826 set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
827 DT_RPATH is set.
828 Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
829
74816898
L
8302000-07-19 H.J. Lu <hjl@gnu.org>
831
832 * bfd-in.h (bfd_elf_set_dt_needed_soname): New.
833 * bfd-in2.h: Rebuild.
834
835 * elf-bfd.h (elf_obj_tdata): Add dt_soname.
836 (elf_dt_soname): New.
837
838 * elf.c (bfd_elf_set_dt_needed_soname): New.
839
840 * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
841 entry if the shared object loaded by DT_NEEDED is used to
842 resolve the reference in a regular object.
843
36a30e65
L
8442000-07-19 H.J. Lu <hjl@gnu.org>
845
846 * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
847 DT_DEPAUDIT and DT_AUDIT as strings.
848
1d713d9e
NC
8492000-07-19 Nick Clifton <nickc@cygnus.com>
850
851 * format.c: Fix formatting.
852
d48188b9
L
8532000-07-19 H.J. Lu <hjl@gnu.org>
854
855 * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
856
94558834
L
8572000-07-19 H.J. Lu <hjl@gnu.org>
858
859 * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
860 DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
861 DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
862 DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
863 DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
864 DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
865 DT_FLAGS_1, DT_USED and DT_CHECKSUM.
866
125c4a69
NC
867Tue Jul 18 13:11:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
868
869 * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
77cb06e9 870 renamed functions from here...
125c4a69
NC
871 (assign_section_numbers): Use renamed functions.
872 (prep_headers): Use renamed functions.
77cb06e9 873
125c4a69
NC
874 * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here.
875 * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update.
876 * bfd-in2.h: Regenerate.
877
31a9bdd9
UC
8782000-07-18 Ulf Carlsson <ulfc@engr.sgi.com>
879
880 * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
313ba8d6 881 parenthesis in if statement.
31a9bdd9 882
f7cb7d68
UC
8832000-07-17 Koundinya K <kk@ddeorg.soft.net>
884
77cb06e9 885 Enable the support for Traditional MIPS.
f7cb7d68
UC
886 * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
887 return ict_none appropriately for traditional mips targets.
888 (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
889 (STUB_MOVE): Conditionalize for traditonal mips.
890 (STUB_LI16): Likewise.
891 (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
892 room for RTPROC header.
893 (_bfd_mips_elf_modify_segment_map): For a normal mips executable set
894 the permission for the PT_DYNAMIC as read, write and execute.
895 (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
896 for traditonal mips.
897 (_bfd_mips_elf_create_dynamic_sections): Add the symbol
898 _DYNAMIC_LINKING for traditonal mips.
899 (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
900 in case of traditonal mips.
901 (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
902 entry is required. For a function if PLT is not required then set the
903 corresponding hash table entry to 0.
77cb06e9 904 (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
f7cb7d68 905 traditonal mips.
77cb06e9 906 (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
f7cb7d68 907 shared object set the value to 0.
77cb06e9 908 (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
f7cb7d68
UC
909 _DYNAMIC_LINKING for traditonal mips.
910 (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
911 for traditonal mips.
77cb06e9 912
930d924d
L
9132000-07-15 H.J. Lu <hjl@gnu.org>
914
915 * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
916
e67f03db
DD
9172000-07-12 Charles Wilson <cwilson@ece.gatech.edu>
918
919 * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
920 out a structure that is BFD_IN_MEMORY.
921
0ba2a60e
AM
9222000-07-11 Alan Modra <alan@linuxcare.com.au>
923
924 * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of
925 bfd pointer. Print section id instead of bfd pointer for local
926 syms. Prefix addend with `+' for global syms as well as local.
927 Correct calculation of name component lengths.
928 (elf64_hppa_check_relocs): Update call to get_dyn_name.
929
930 From David Huggins-Daines <dhd@linuxcare.com>
931 * elf-hppa.h (elf_hppa_relocate_section): Update calls here too.
932 * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
933 (elf64_hppa_modify_segment_map): Likewise.
934
6d9019e4
AC
935Tue Jul 11 17:21:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
936
937 * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
77cb06e9 938 addresses to be "naturally" sign extended. Return -1 if unknown.
0ba2a60e 939 * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
6d9019e4
AC
940 * bfd-in2.h: Regenerate.
941
23e2c83b
AC
942Tue Jul 11 16:25:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
943
944 * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
77cb06e9 945 and ECOF_SIGNED_64 to list ways to extract an offset.
23e2c83b 946 (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in,
77cb06e9
AM
947 ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out):
948 Update.
23e2c83b
AC
949 * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
950 * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
951
448cafa4
AC
952Tue Jul 11 16:03:04 2000 Andrew Cagney <cagney@b1.cygnus.com>
953
954 * elfcode.h (elf_object_p): Use bfd_set_start_address and not
77cb06e9 955 bfd_get_start_address.
448cafa4
AC
956 (elf_swap_ehdr_in): Sign extend e_entry when applicable.
957 (elf_swap_ehdr_out): Ditto.
958
83ea41ad
NC
9592000-07-10 Alexander Aganichev <AAganichev@hypercom.com>
960
961 * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for
962 compatibility with older binutils.
963
3df7b4e2
AM
9642000-07-10 Alan Modra <alan@linuxcare.com.au>
965
966 * section.c (bfd_make_section_anyway): Start section_id at 0x10.
967 (STD_SECTION): Avoid negative ids, instead use 0 to 3.
968
b7af50e3
AM
969 From Ryan Bradetich <rbradetich@uswest.net>
970 * dwarf1.c (parse_die): Cure signed/unsigned char warnings.
971 (parse_line_table): Ditto.
972 (_bfd_dwarf1_find_nearest_line): Ditto.
973 * syms.c (cmpindexentry): Remove extra `*' from params.
974
adb76a3e
UC
9752000-07-09 Koundinya K <kk@ddeorg.soft.net>
976
77cb06e9
AM
977 * elf32-mips.c (sort_dynamic_relocs): New Function.
978 (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
adb76a3e
UC
979 via qsort to sort the dynamic relocations in increasing r_symndx
980 value.
77cb06e9 981
edd21aca
AM
9822000-07-09 Alan Modra <alan@linuxcare.com.au>
983
984 * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add
985 ATTRIBUTE_UNUSED to unused args.
986 (get_opd): Likewise.
987 (get_plt): Likewise.
988 (get_dlt): Likewise.
989 (get_stub): Likewise.
990 (elf64_hppa_adjust_dynamic_symbol): Likewise.
991 (elf64_hppa_link_output_symbol_hook): Likewise.
992 (elf64_hppa_check_relocs): Delete unused var.
993 (elf64_hppa_size_dynamic_sections): Likewise.
994 (elf64_hppa_finalize_opd): Likewise.
995 (elf64_hppa_finalize_dynreloc): Likewise.
996 (elf64_hppa_modify_segment_map): Likewise.
997 (elf64_hppa_finish_dynamic_sections): Likewise.
998
999 * elf-hppa.h (elf_hppa_final_write_processing): Add
1000 ATTRIBUTE_UNUSED to unused args.
1001 (elf_hppa_final_link_relocate): Likewise.
1002 (elf_hppa_record_segment_addrs): Add paretheses.
1003 (elf_hppa_relocate_section): Constify dyn_name.
1004
1005 From David Huggins-Daines <dhd@linuxcare.com>
1006 * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and
1007 rearrange case statement so that it gets preferred to 32-bit ones.
1008
1009 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use
1010 asection->id instead of address of asection structure.
1011 (elf32_hppa_size_stubs): Likewise.
1012
1013 * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section
1014 for .init* and .fini*.
1015
1016 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers
1017 and addends used in stub names to 32 bits.
1018 (elf32_hppa_size_stubs): Likewise.
1019
1020 * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend
1021 twice for R_PARISC_GPREL64. Use bfd_put_32 for R_PARISC_PCREL32,
1022 not bfd_put_64. Fix minor comment typo and formatting.
1023
1024 Changes to create multiple linker stubs, positioned immediately
1025 before the section where they are required.
1026 * elf32-hppa.c: Don't include hppa_stubs.h.
1027 (elf32_hppa_stub_hash_entry): Add a pointer to the stub section.
1028 (elf32_hppa_stub_hash_table): Delete.
1029 (elf32_hppa_link_hash_entry): Delete.
1030 (elf32_hppa_link_hash_table): Use plain bfd_hash_table for
1031 stub_hash_table, and store the struct here rather than a pointer.
1032 Delete output_symbol_count. Add offset array. Change
1033 global_value to a bfd_vma.
1034 (elf32_hppa_stub_hash_lookup): Use table instead of table->root.
1035 (elf32_hppa_stub_hash_traverse): Delete.
1036 (elf32_hppa_name_of_stub): Delete.
1037 (elf32_hppa_link_hash_lookup): Delete.
1038 (elf32_hppa_link_hash_traverse): Delete.
1039 (elf32_hppa_stub_hash_table_init): Delete.
1040 (elf32_hppa_size_of_stub): Pass input section and offset rather
1041 than location and calculate location here. Don't pass name as all
1042 stubs are now the same size.
1043 (elf32_hppa_stub_hash_newfunc): Init new fields.
1044 (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table
1045 too.
1046 (elf32_hppa_bfd_final_link_relocate): Cast enums to int before
1047 comparing against ints. Rewrite stub handling code.
1048 (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned.
1049 Case enums to int before comparing against ints. Remove
1050 bfd_reloc_dangerous case.
1051 (elf32_hppa_build_one_stub): Rewrite.
1052 (elf32_hppa_size_one_stub): New function.
1053 (elf32_hppa_build_stubs): Rewrite.
1054 (elf32_hppa_size_stubs): Pass in linker call-back functions.
1055 Rewrite stub-handling specific code.
1056
1057 * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype.
1058
1059 * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo.
1060
1061 * hppa_stubs.h: Delete.
1062 * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h
1063 (elf32-hppa.lo): Remove hppa_stubs.h from dependencies.
1064 * Makefile.in: Regenerate.
1065
1066 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and
1067 e_nlrsel.
1068
1069 * libhppa.h (hppa_field_adjust): Correct e_nsel case.
1070
1071 * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset
1072 and section name for bfd_reloc_notsupported error message.
1073 (elf32_hppa_bfd_final_link_relocate): Print reasons for returning
1074 bfd_reloc_notsupported.
1075 (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd.
1076
1077 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle
1078 undefined weak symbols for all relocs.
1079 (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch
1080 offsets are relative to one past the delay slot.
1081 (elf32_hppa_size_stubs): Account for reloc addend when calculating
1082 branch destination. Put addend into stub name too.
1083 (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and
1084 adjust by 8 when deciding whether a linker stub is needed. Put
1085 addend into stub name as for above.
1086
1087 * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on
1088 various args and vars.
1089 (elf32_hppa_bfd_final_link_relocate): Here too.
1090 (elf32_hppa_size_stubs): Rename index -> indx. Use e_indx for
1091 inner block var to avoid shadowing.
1092
1093 * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Make `field' arg
1094 unsigned.
1095 * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto.
1096 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto.
1097 (elf_hppa_fake_sections): Rename local var to avoid shadowing.
1098
1099 * libhppa.h: Change practically all unsigned ints to plain ints.
1100 Remove tests on gcc version. Instead use ATTRIBUTE_UNUSED for
1101 prototypes.
1102
1103 From Ryan Bradetich <rbradetich@uswest.net>
1104 * libhppa.h (hppa_opcode_type): New enum to replace #define's.
1105 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to
1106 suit above.
1107 From David Huggins-Daines <dhd@linuxcare.com>
1108 * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants
1109 to the new OP_* ones.
1110
1111 * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on
1112 error exit. Bail out earlier on plabel relocs that we aren't
1113 interested in. Don't tell elf32_hppa_stub_hash_lookup to copy
1114 string, and then don't free our copy.
1115 (elf32_hppa_build_one_stub): Make insn unsigned int.
1116
1117 * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only
1118 available with BL, not BE and BLE.
1119
1120 * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example
1121 code for elf arg relocs.
1122 (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local
1123 argument with elf_link_hash_entry h. Handle undefined weak
1124 symbols. Move $global$ lookup from here...
1125 (elf32_hppa_relocate_section): ...to here. Return correct error
1126 message for non-handled relocs.
1127 (elf32_hppa_size_of_stub): Correctly test branch range. Previous
1128 wrong test was -0x3ffff to +0x40000.
1129
1130 * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R,
1131 R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches;
1132 Handle them as such.
1133 (elf_hppa_relocate_insn): Fix a typo.
1134
1135 * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete.
1136 (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
1137 assemble_17, assemble_21): Delete.
1138 Supply defines for all 64 possible opcodes.
1139 (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode
1140 formats. Handle COMICLR.
1141 (hppa_rebuild_insn): Delete bfd argument. Handle formats 10, -11,
1142 -10, -16, 16, 22.
1143
1144 * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite.
1145 (elf32_hppa_bfd_final_link_relocate): Major rewrite.
1146 (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls
1147 to suit.
1148 (elf32_hppa_size_stubs): Don't free stub_name twice. Read in all
1149 the local syms - did this code get deleted accidentally? Ignore
1150 undefined and undefweak syms.
1151
1152 * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost
1153 block. Use it instead of elf64_hppa_hash_table (info).
1154 (elf_hppa_final_link_relocate): Use hppa_info instead of
1155 elf64_hppa_hash_table (info).
1156
1157 * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
1158 re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
1159 (hppa_rebuild_insn): Mask immediate bits here instead.
1160 * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
1161
52b219b5
AM
11622000-07-08 Alan Modra <alan@linuxcare.com.au>
1163
1164 * section.c (struct sec): Add id field. Tidy comment formatting.
1165 (bfd_make_section_anyway): Set id.
1166 (STD_SECTION): Init id too.
1167 Change CONST to const throughout.
1168 * archures.c (bfd_arch_info): Tidy comment.
1169 (bfd_arch_list): Change a CONST to const.
1170 * libbfd-in.h: Tidy comments and replace CONST with const.
1171 * elf-bfd.h: Likewise.
1172 * libbfd.h: Regenerate.
1173 * bfd-in2.h: Regenerate.
1174 * libcoff.h: Regenerate.
1175
8000a618
DD
11762000-07-07 DJ Delorie <dj@redhat.com>
1177
1178 * archive.c (_bfd_write_archive_contents): Add an informative
1179 comment.
1180
c3b7c767
NC
11812000-07-06 Kazu Hirata <kazu@hxi.com>
1182
1183 * srec.c: Fix formatting.
1184
302ab118
DD
11852000-06-05 DJ Delorie <dj@redhat.com>
1186
1187 * MAINTAINERS: new
1188
ed1de528
AO
11892000-07-04 Alexandre Oliva <aoliva@redhat.com>
1190
1191 * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
1192 value of PC-relative offsets.
1193
70bcb145
JW
11942000-07-03 Jim Wilson <wilson@cygnus.com>
1195
1196 * elf64-alpha.c (alpha_elf_size_info): New.
1197 (elf_backend_size_info): Define to alpha_elf_size_info.
1198 * elfcode.h (elf_size_info): Change hash bucket size to 4.
1199
b8ee63fa
UC
12002000-07-03 Ulf Carlsson <ulfc@engr.sgi.com>
1201
1202 * elf32-mips.c: Include elf32-target.h again for the traditional
1203 MIPS targets.
1204
00d2865b
NC
12052000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
1206
1207 * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup):
1208 Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings.
1209 (avr_info_to_howto_rela): Likewise.
1210 (elf32_avr_gc_mark_hook): Likewise.
1211 (elf32_avr_gc_sweep_hook): Likewise.
1212 (elf32_avr_relocate_section): Likewise.
1213
e4202681
NC
12142000-07-03 Mark Elbrecht <snowball3@bigfoot.com>
1215
1216 * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into
1217 an external symbol for a non-shared, non-relocatable link.
77cb06e9 1218
e4202681
NC
12192000-07-03 Nick Clifton <nickc@redhat.com>
1220
99d6ac2f
NC
1221 * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol
1222 is an external symbol.
e4202681
NC
1223 (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak
1224 external symbol.
77cb06e9 1225
289c596c
NC
12262000-07-03 Kazu Hirata <kazu@hxi.com>
1227
1228 * reloc16.c: Fix formatting.
1229
dd745cfa
UC
12302000-07-01 Koundinya K <kk@ddeorg.soft.net>
1231
77cb06e9
AM
1232 * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
1233 to add a new target for traditional mips i.e
1234 bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
1235 * configure.in: Likewise.
1236 * configure: Rebuild.
1237 * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
dd745cfa
UC
1238 bfd_target_vector.
1239 (bfd_elf32_tradlittlemips_vec): Likewise.
77cb06e9
AM
1240 * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
1241 to see that elfNN_bed does not get redefined even if the target file
1242 is included twice for a chip. See elf32-mips.c.
1243
0bdaf48b
AM
12442000-07-01 Alan Modra <alan@linuxcare.com.au>
1245
1246 * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
1247 (CLEANFILES): Add DEPA.
1248 * Makefile.in: Regenerate.
1249
c75df619 12502000-06-30 DJ Delorie <dj@cygnus.com>
77cb06e9 1251
c75df619 1252 * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
77cb06e9 1253 can't assume the PE header is at 0x80.
c75df619 1254
b4b415e5
DD
12552000-06-29 Mark Elbrecht <snowball3@bigfoot.com>
1256
cda43a1d 1257 * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH.
b4b415e5 1258
addd3117
DD
12592000-06-28 Mark Elbrecht <snowball3@bigfoot.com>
1260
1261 * go32stub.h: Update stub.
1262
65aa24b6
NC
12632000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
1264
1265 * archures.c (bfd_mach_avr5): Define.
1266 * bfd-in2.h (bfd_mach_avr5): Define.
1267 * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to
1268 bfd_mach_avr5, add bfd_mach_avr4. Update comments.
1269 (compatible): Update comment. Add missing test.
1270 * elf32-avr.c (avr_final_link_relocate): Support 8K wrap
1271 for avr2 and avr4. Simplify 8K wrap code.
1272 (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5.
1273 (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5.
1274
cc040812
NC
12752000-06-26 Kazu Hirata <kazu@hxi.com>
1276
1277 * coff-h8300.c: Fix formatting.
1278 * cpu-h8300.c: Likewise.
1279
b1bcb49f
AO
12802000-06-24 Alexandre Oliva <aoliva@redhat.com>
1281
1282 * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
1283 for local symbols whose names are unknown.
1284
1581f8c9
AM
12852000-06-22 Alan Modra <alan@linuxcare.com.au>
1286
1287 * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
1288 find one.
1289 * Makefile.in: Regenerate.
1290 * doc/Makefile.in: Regenerate.
1291
bbeb2e03
L
12922000-06-20 H.J. Lu <hjl@gnu.org>
1293
1294 * Makefile.am: Rebuild dependency.
1295 * Makefile.in: Rebuild.
1296
8a20f077
UC
12972000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1298
1299 * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
1300 (elf_backend_copy_indirect_symbol): Map to the new function.
1301
2ab47eed
AM
13022000-06-20 Alan Modra <alan@linuxcare.com.au>
1303
1304 * archive.c (normalize): Correct pointer comparison when checking
1305 for backslashes.
1306 (bfd_bsd_truncate_arname): Likewise.
1307 (bfd_gnu_truncate_arname): Likewise.
1308
b305ef96
UC
13092000-06-20 Ulf Carlsson <ulfc@engr.sgi.com>
1310
1311 * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
1312 sections elf_{text,data}_{section,symbol}.
1313 * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
1314 (_bfd_mips_elf_hide_symbol): New function.
1315 (elf_backend_hide_symbol): Map to the new function.
1316 (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
1317 definitions of mips_elf_{text,data}_{section,symbol}.
1318 (mips_elf_local_relocation_p): Try to find the direct symbol
1319 based on new check_forced argument.
1320 (mips_elf_calculate_relocation): Use new version of
1321 mips_elf_local_relocation_p.
1322 (mips_elf_relocate_section): Likewise.
1323 (_bfd_mips_elf_relocate_section): Likewise.
1324 (mips_elf_sort_hash_table): Only assert that have enough GOT
1325 space.
1326 (mips_elf_got16_entry): Match all 32 bits to the existing GOT
1327 entry if the relocation based on the new external argument.
1328 (mips_elf_create_dynamic_relocation): Assert that we have a
1329 section contents allocated where we can swap out the dynamic
1330 relocations.
1331 (mips_elf_calculate_relocation): Find the real hash-table entry
1332 correctly by using h->root.root.type. Only create a dynamic
1333 relocation entry if the symbol is defined in a shared library.
1334 Create an external GOT entry for the GOT16 relocation if the
1335 symbol was forced local.
1336 (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
1337 dynamic index if the symbol was forced local.
1338
13392000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1340
1341 * elf32-mips.c: Fix typos in comments.
77cb06e9 1342
1605fc4f
MK
13432000-06-19 Mark Kettenis <kettenis@gnu.org>
1344
1345 * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
1346 CORE_VERSION_1.
1347
60bcf0fa
NC
13482000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
1349
1350 * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild.
1351 * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS,
1352 BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files.
1353 * configure.in (bfd_elf32_m68hc12_vec): Recognize.
1354 (bfd_elf32_m68hc11_vec): Likewise.
77cb06e9 1355 * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11.
60bcf0fa
NC
1356 Supports 68hc11 & 68hc12 at the same time.
1357 * targets.c (bfd_elf32_m68hc12_vec): Declare and put in
1358 bfd_target_vector.
1359 (bfd_elf32_m68hc11_vec): Likewise.
1360 * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11.
1361 * archures.c (bfd_m68hc12_arch): Define and register in global list
1362 (bfd_m68hc11_arch): Likewise.
1363 * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8,
1364 BFD_RELOC_M68HC11_3B): Define.
1365 * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support.
1366 * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support.
1367
f41cbf03
UC
13682000-06-18 Ulf Carlsson <ulfc@engr.sgi.com>
1369
1370 * elf_bfd.h (struct elf_backend_data): Add info argument to
1371 elf_backend_hide_symbol.
1372 (_bfd_elf_link_hash_hide_symbol): Likewise.
1373 * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
1374 * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
1375 * elflink.h (elf_link_add_object_symbols): Likewise.
1376 (elf_link_assign_sym_version): Likewise.
77cb06e9 1377
689be717
L
13782000-06-18 H.J. Lu <hjl@gnu.org>
1379
1380 * coff-i386.c (coff_i386_reloc): Don't return in case of
1381 output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
1382 Compensate PE relocations when linking with non-PE object
1383 files to generate a non-PE executable.
1384
9a8f3bb7
UC
13852000-06-17 Ulf Carlsson <ulfc@engr.sgi.com>
1386
1387 * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
1388 GOT entries if we're doing a static link or -Bsymbolic link.
1389
32f0787a
UC
13902000-06-15 Ulf Carlsson <ulfc@engr.sgi.com>
1391
1392 * elflink.h (elf_link_adjust_relocs): Check for and call backend
1393 specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
1394 available.
1395 (elf_link_output_relocs): Likewise.
1396 (elf_reloc_link_order): Likewise.
77cb06e9 1397
87f33987
ND
13982000-06-16 Nicholas Duffek <nsd@redhat.com>
1399
1400 * archures.c (enum bfd_architecture): #define constants for
1401 PowerPc and RS6000 machine numbers.
1402 * bfd-in2.h: Regenerate.
1403 * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
1404 to bfd_arch_powerpc instead of bfd_arch_rs6000. Refer to PowerPc
1405 and RS6000 machine numbers using #defined constants from
1406 archures.c.
1407 * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
1408 machine numbers using #defined constants from archures.c. Add
1409 entries for EC603e, 630, A35, RS64II, RS64III, 7400. Specify
1410 64-bit words in 620 entry.
1411 * cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
1412 RSC, and RS2.
1413 (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
1414
a2fdf270
ND
14152000-06-16 Nicholas Duffek <nsd@cygnus.com>
1416
1417 * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
1418 * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
1419 * libcoff.h (struct xcoff_tdata): Define xcoff64 field.
1420
9bd09e22
ND
14212000-06-16 Nicholas Duffek <nsd@redhat.com>
1422
1423 * bfd-in.h (bfd_family_coff): Define.
1424 * bfd-in2.h: Regenerate.
1425 * coffgen.c (coff_count_linenumbers, coff_symbol_from,
1426 coff_find_nearest_line): Check COFFness using bfd_family_coff()
1427 instead of bfd_target_coff_flavour.
1428 * cofflink.c (_bfd_coff_final_link): Likewise.
1429 * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
1430 exclude XCOFF files.
1431 * reloc.c (bfd_perform_relocation, bfd_install_relocation):
1432 Likewise.
1433 * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
1434 * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
1435 * xcofflink.c (XCOFF_XVECP): Delete.
1436 (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
1437 bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
1438 bfd_xcoff_record_link_assignment,
1439 bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
1440 check for bfd_target_xcoff_flavour.
1441
59d9f049
ND
14422000-06-16 Nicholas Duffek <nsd@redhat.com>
1443
1444 * rs6000-core.c: Support 64-bit core files, support pre-4.3 core
1445 files on AIX 4.3.
1446 (read_hdr): New function.
1447 (rs6000coff_core_p): Store mstsave or __context64 struct instead
1448 of trying to extract individual registers. Set abfd->arch_info
1449 to match the architecture that created the core file.
1450 (rs6000coff_get_section_contents): Delete.
1451 * xcoff-target.h (rs6000coff_get_section_contents): Delete.
1452
63e39178
L
14532000-06-14 H.J. Lu <hjl@gnu.org>
1454
1455 * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
1456 is NULL.
1457
bcef29e6
L
14582000-06-13 H.J. Lu <hjl@gnu.org>
1459
1460 * configure: Regenerate.
1461
26bfd1c0
JR
1462Tue Jun 13 01:28:57 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1463
1464 * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
1465 armpei_little_vec.
1466
946efd95
DB
14672000-06-08 David O'Brien <obrien@FreeBSD.org>
1468
1469 * configure.in (VERSION): Update to show this is the CVS mainline.
1470
1b452ec6
AM
14712000-06-07 Alan Modra <alan@linuxcare.com.au>
1472
1473 * elf32-d10v.c: Include elf/d10v.h
1474 (enum reloc_type): Delete.
1475 * elf32-d30v.c: Include elf/d30v.h
1476 (enum reloc_type): Delete.
1477
1478 * Makefile.am: Run "make dep-am" to regenerate dependencies.
1479 * Makefile.in: Regenerate.
1480
1481 * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs.
dc47f327
AM
1482 (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
1483 move HOWTOs into elf_howto_table.
1b452ec6 1484 (R_386_standard, R_386_ext_offset): Define.
dc47f327 1485 (R_386_ext, R_386_vt_offset, R_386_vt): Define.
1b452ec6 1486 (elf_i386_reloc_type_lookup): Modify calculation of index into
dc47f327 1487 elf_howto_table since we've removed the padding.
1b452ec6
AM
1488 (elf_i386_info_to_howto_rel): Likewise.
1489 (elf_i386_relocate_section): Likewise.
1490
e0ebfc61
MS
14912000-06-06 Michael Snyder <msnyder@seadog.cygnus.com>
1492
1493 * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
1494
9d6eee78
L
14952000-06-05 H.J. Lu <hjl@gnu.org>
1496
1497 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
1498 an error when seeing an undefined symbol with hidden/internal
1499 attribute. It is handled in *_relocate_section ().
1500
94b6c40a
L
15012000-06-05 H.J. Lu <hjl@gnu.org>
1502
1503 * elflink.h (elf_fix_symbol_flags): Follow the link for the
1504 indirect symbol for the ELF_LINK_NON_ELF bit.
1505 (elf_link_output_extsym): Don't output the indirect symbol even
1506 if the ELF_LINK_NON_ELF bit is set.
1507
0af288f3
C
15082000-06-01 J.T. Conklin <jtc@redback.com>
1509
1510 * config.bfd (i[3456]86-*-netbsdelf*): New target.
1511 (i[3456]86-*-netbsdaout*): New target.
1512 (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
1513 (i[3456]86-*-openbsd*): Likewise.
1514
12df4d3c
AC
1515Tue May 30 15:39:04 2000 Andrew Cagney <cagney@b1.cygnus.com>
1516
1517 * trad-core.c: From hpux-core.c, include <dirent.h> or
77cb06e9 1518 <sys/ndir.h> when possible.
12df4d3c 1519
c0ae4ccc
NC
15202000-05-31 Nick Clifton <nickc@cygnus.com>
1521
1522 * opintl.h (_(String)): Explain why dgettext is used instead
77cb06e9 1523 of gettext.
c0ae4ccc 1524
321fa097
UD
15252000-05-31 Ulrich Drepper <drepper@redhat.com>
1526
1527 * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
1528 definitions. We must not assume they are sorted in the file
1529 according to their index numbers.
1530
70d72e0e
AM
15312000-05-31 Alan Modra <alan@linuxcare.com.au>
1532
1533 * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field
77cb06e9
AM
1534 selector for R_PARISC_PCREL17R. R_PARISC_DIR17R and
1535 R_PARISC_DIR17F are for absolute branches; Handle them as such.
70d72e0e 1536
96f6d4c4
NC
15372000-05-30 Nick Clifton <nickc@cygnus.com>
1538
1539 * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB,
1540 80960CA, 80960MC as valid machine names.
1541
38048eb9
L
15422000-05-30 H.J. Lu <hjl@gnu.org>
1543
1544 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
1545 visibility bits if the symbol is undefined. Correctly handle
1546 weak undefined symbols with hidden and internal attributes.
1547
1548 * elflink.h (elf_link_add_object_symbols): Always turn the
1549 symbol into local if it has the hidden or internal attribute.
1550
8c763017
PB
15512000-05-29 Philip Blundell <philb@gnu.org>
1552
1553 * ppcboot.c: Add packed attribute if compiling with GCC.
1554
1ae00f9d
AM
15552000-05-29 Anatoly Vorobey <mellon@pobox.com>
1556
1557 * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal.
1558
4a938328
MS
15592000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
1560
77cb06e9 1561 * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
4a938328
MS
1562 elfcore_grok_psinfo): Add code to allow debugging a 32-bit
1563 corefile on a 64-bit (Sparc Solaris) host. Also clean up
1564 a few old comments.
1565
5af11cab
AM
15662000-05-26 Alan Modra <alan@linuxcare.com.au>
1567
2114f57b
AM
1568 * Makefile.am: Update dependencies with "make dep-am"
1569 * Makefile.in: Regenerate.
1570
5af11cab
AM
1571 * sysdep.h (gettext, dgettext, dcgettext, textdomain,
1572 bindtextdomain): Replace defines with those from intl/libgettext.h
1573 to quieten gcc warnings.
1574
15752000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
1576
1577 * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH.
1578
1579 * archive.c (normalize, bfd_bsd_truncate_arname,
1580 bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support
1581 file names with backslashes.
1582
1583 * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file
1584 before opening it.
1585
1586 * sysdep.h: Include filenames.h.
1587
b6cdd0fd
AM
15882000-05-26 Alan Modra <alan@linuxcare.com.au>
1589
1590 * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777.
1591
f7775d95
JJ
15922000-05-26 Jakub Jelinek <jakub@redhat.com>
1593
1594 * elf64-sparc.c (sparc64_elf_relax_section): New.
1595 (sparc64_elf_relocate_section): Optimize tail call into branch always
1596 if possible.
1597 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1598 (elf32_sparc_relax_section): New.
1599
6c08d697
JJ
16002000-05-26 Jakub Jelinek <jakub@redhat.com>
1601
1602 * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
1603 Remove unusued variables.
1604 (sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
1605 (sparc64_elf_merge_private_bfd_data): Fix shared library case from
1606 previous fix, so that shared libs really don't influence targets
1607 extension mask and memory model.
1608
edb72b3b
L
16092000-05-23 H.J. Lu <hjl@gnu.org>
1610
1611 * elf64-alpha.c (elf64_alpha_relocate_section): Check
1612 h->root.other not h->other.
ba09750c
L
1613 * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
1614
1615 * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
edb72b3b 1616
3a27a730
L
16172000-05-23 H.J. Lu <hjl@gnu.org>
1618
1619 * elf32-i386.c (elf_i386_relocate_section): Don't allow the
1620 undefined symbol with the non-default visibility attributes.
1621 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
1622 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
1623 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1624 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1625 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1626 * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
1627 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1628 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1629 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1630 * elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
1631 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1632
748abff6
RH
16332000-05-22 Richard Henderson <rth@cygnus.com>
1634
1635 * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
1636 PCREL22, PCREL64I. Zero size of special relocs.
1637 (elf64_ia64_reloc_type_lookup): Likewise.
1638 (USE_BRL, oor_brl, oor_ip): New.
1639 (elf64_ia64_relax_section): New.
1640 (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
1641 (elf64_ia64_install_value): Likewise, plus PCREL21BI.
1642 (elf64_ia64_relocate_section): Likewise.
1643 (bfd_elf64_bfd_relax_section): New.
1644 * reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
1645 (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
1646 * bfd-in2.h, libbfd.h: Regenerate.
1647
fb67355a
NC
16482000-05-22 Nick Clifton <nickc@cygnus.com>
1649
1650 * configure.in : Add peigen.lo to MIPS PE targets.
1651 * configure: Regenerate.
1652
1fe494a5
NC
16532000-05-22 Momchil Velikov <velco@fadata.bg>
1654
1655 * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess
748abff6 1656 only if it is known for both input and output bfds. Separate
1fe494a5
NC
1657 error message strings as in some languages, it may be necessary
1658 to change more than one place in the string to change between
77cb06e9 1659 'big' and 'little'.
1fe494a5
NC
1660
1661 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline
77cb06e9
AM
1662 endianess checks, call _bfd_generic_verify_endian_match() instead.
1663
1664 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
1fe494a5 1665
77cb06e9 1666 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
1fe494a5
NC
1667
1668 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify
77cb06e9 1669 endianess before checking bfd flavours.
1fe494a5 1670
32c092c3
L
16712000-05-22 H.J. Lu <hjl@gnu.org>
1672
1673 * elflink.h (elf_link_output_extsym): Clear the visibility
1674 field for symbols not defined locally.
1675
df6d9773
JL
16762000-05-18 Alan Modra <alan@linuxcare.com.au>
1677
1678 * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
1679 re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
1680 (hppa_rebuild_insn): Mask immediate bits here instead.
1681 * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
1682
7ad34365
NC
16832000-05-18 Momchil Velikov <velco@fadata.bg>
1684
1685 * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
1686 relocs for an executable, ensure that they are virtual addresses.
1687
d1dab720
JL
1688Thu May 18 10:55:47 2000 Jeffrey A Law (law@cygnus.com)
1689
1690 * config.bfd (hppa*64*-*-hpux11*): New target triplet.
1691
a712da20
NC
16922000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
1693 Rick Gorton <gorton@scrugs.lkg.dec.com>
77cb06e9 1694
aa76cae8 1695 * elflink.h: Add emitrelocations support: when enabled, relocation
a712da20
NC
1696 information and relocation sections are put into final output
1697 executables. If the emitrelocations flag is set, do the following:
1698 (elf_bfd_final_link): Emit relocation sections.
1699 (elf_link_input_bfd): Compute relocation section contents.
1700 (elf_gc_sections): Don't clean relocation sections.
1701
aa76cae8 17022000-05-16 Catherine Moore <clm@cygnus.com>
10febd84
CM
1703
1704 * som.c (som_decode_symclass): Recognize weak symbols.
1705
db8503c4
AM
17062000-05-16 Szabolcs Szakacsits <szaka@F-Secure.com>
1707
1708 * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that
1709 read idata section only from dataoff.
1710 (pe_print_edata): Correctly check for valid eat_member.
1711
851cde10
JR
1712Tue May 16 00:04:11 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1713
1714 * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
1715
1bde2d57
PB
17162000-05-14 Philip Blundell <philb@gnu.org>
1717
1718 * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets.
1719
a76b448c
AM
17202000-05-12 Alan Modra <alan@linuxcare.com.au>
1721
9ee25201
AM
1722 * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec
1723
a76b448c
AM
1724 * peigen.c (pe_print_idata): Look for .idata section and print
1725 info even if data directory has zero entries. Read idata section
1726 starting from dataoff, and adjust all data offsets to suit. Cast
1727 all bfd_vma vars to unsigned long before passing to fprintf.
1728 * peigen.c (pe_print_edata): Similarly, look for .edata section
1729 and print info even if data directory has zero entries. Cast
1730 all bfd_vma vars to unsigned long before passing to fprintf.
1731
1732 From Szabolcs Szakacsits <szaka@F-Secure.com>
1733 * peigen.c (pe_print_idata): Use bfd_section_size rather than data
1734 directory size which may be bogus.
1735 * peigen.c (pe_print_edata): Similarly.
1736
72730e0c
AM
17372000-05-09 Alan Modra <alan@linuxcare.com.au>
1738
1739 * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela
1740 section is empty.
1741 (copy_private_bfd_data): Allow for space possibly taken up by elf
1742 headers when calculating segment physical address from lma.
1743
8181c403
AM
17442000-05-08 Alan Modra <alan@linuxcare.com.au>
1745
bfde9f99
AM
1746 * versados.c (versados_scan): Init stringlen and pass_2_done.
1747
b35efbcd
AM
1748 * trad-core.c (trad_unix_core_file_p): Return
1749 bfd_error_wrong_format rather than bfd_error_file_truncated.
1750
8181c403
AM
1751 * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to
1752 add_data_entry. DataDirectory virtual address is relative.
1753 (pe_print_idata): Account for relative DataDirectory virtual
1754 addresses. Don't trash datasize inside POWERPC_LE_PE code.
1755 (pe_print_edata): Similarly.
1756
1757 From Szabolcs Szakacsits <szaka@F-Secure.com>
1758 * peigen.c (dir_names): Add Delay Import Directory.
1759 (pe_print_idata): Always search for bfd section containing
1760 idata address rather than looking up section name. Print this
1761 section name rather than .idata.
1762 (pe_print_edata): Similarly. Also print some fields as %08lx.
1763 (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
1764 Win32Version.
1765
2c38bc20
CP
1766Fri May 5 20:44:40 2000 Clinton Popetz <cpopetz@cygnus.com>
1767
1768 * xcoff.h: Rename to xcoff-target.h
1769 * Makefile.am: Change all instances of xcoff.h to xcoff-target.h
1770 * coff-rs6000.c: Ditto.
1771 * coff64-rs6000.c: Ditto.
1772 * coff-pmac.c: Ditto.
1773 * Makefile.in: Regenerate.
77cb06e9 1774
c6664dfb
CP
1775Fri May 5 16:51:03 2000 Clinton Popetz <cpopetz@cygnus.com>
1776
1777 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
1778 Change U802TOC64MAGIC to U803XTOCMAGIC.
1779
3425c182
MS
17802000-05-04 Michael Snyder <msnyder@seadog.cygnus.com>
1781
1782 * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
1783 * bfd-in.h: Prototype bfd_elf_get_arch_size.
1784 * bfd-in2.h: Prototype bfd_elf_get_arch_size.
1785
7c30ac37
AM
17862000-05-04 Alan Modra <alan@linuxcare.com.au>
1787
1788 * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
1789