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