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