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