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