* Makefile.am: Remove all mention of elflink.h.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
c152c796
AM
12004-03-27 Alan Modra <amodra@bigpond.net.au>
2
3 * Makefile.am: Remove all mention of elflink.h.
4 * Makefile.in: Regenerate.
5 * bfd-in.h (bfd_elf_discard_info): Declare.
6 (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
7 * bfd-in2.h: Regenerate.
8 * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
9 bfd_elf32_link_record_dynamic_symbol,
10 bfd_elf64_link_record_dynamic_symbol,
11 _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
12 bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
13 _bfd_elf32_link_record_local_dynamic_symbol,
14 _bfd_elf64_link_record_local_dynamic_symbol,
15 _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
16 _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
17 _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
18 _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
19 _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
20 _bfd_elf32_reloc_symbol_deleted_p,
21 _bfd_elf64_reloc_symbol_deleted_p): Delete.
22 (bfd_elf_link_record_dynamic_symbol,
23 bfd_elf_link_record_local_dynamic_symbol,
24 bfd_elf_final_link, bfd_elf_gc_sections,
25 bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
26 bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
27 bfd_elf_reloc_symbol_deleted_p): Declare.
28 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
29 * elf32-arm.h: Update for changed function names. Remove local
30 WILL_CALL_FINISH_DYNAMIC_SECTION define.
31 * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
32 * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
33 * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
34 * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
35 * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
36 * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
37 * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
38 * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
39 * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
40 (bfd_elfNN_print_symbol): Define.
41 * elfcode.h: Don't include elflink.h.
42 (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
43 elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
44 elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
45 elf_gc_record_vtinherit, elf_gc_record_vtentry,
46 elf_link_record_local_dynamic_symbol): Don't define.
47 * elflink.c: Update for changed function names. Move elflink.h
48 code here.
49 * elflink.h: Delete file.
50 * po/SRC-POTFILES.in: Regenerate.
51 * po/bfd.pot: Regenerate.
52
6a9cae7f
AM
532004-03-27 Alan Modra <amodra@bigpond.net.au>
54
55 * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
56 "name" for global syms accidentally removed in 2004-03-20 change.
57
140f6c8e
AM
582004-03-27 Alan Modra <amodra@bigpond.net.au>
59
60 * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
61 * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
62 where Elf_External_* is different for 64 and 32 bit, with
63 corresponding elf_size_info field.
64 (struct elf_final_link_info): Use "bfd_byte *" instead
65 of "Elf_External_Sym *" for external_syms and symbuf.
66 (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
67 vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
68 (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
69 (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
70 (elf_link_sort_cmp2): Adjust.
71 (elf_link_sort_relocs): Set up r_sym_mask local var instead of
72 using ELF_R_SYM macro. Set u.sym_mask.
73 (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
74 version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
75 vs. section_from_elf_index. Adjust Elf_External_Sym pointer
76 arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
77 Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
78 swap_syn_out functions. Rearrange dyn swap in/out switch.
79 (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
80 Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
81 (elf_link_flush_output_syms): Add elf_backend_data arg.
82 (elf_link_check_versioned_symbol): Likewise.
83 (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
84 Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
85 (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
86 r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
87 ELF_R_TYPE and ELF_R_INFO macros.
88 (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
89 based on size rather than using ELF_R_INFO.
90 (elf_gc_mark): Set up r_sym_shift local var and use instead of
91 ELF_R_SYM macro.
92 (struct alloc_got_off_arg): New.
93 (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
94 ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
95 (elf_gc_allocate_got_offsets): Adjust.
96 (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
97 ELF_R_SYM. Use bfd_section_from_elf_index.
98 (elf_bfd_discard_info): Set cookie.r_sym_shift.
99 * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
100 (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
101
14bde378
SS
1022004-03-26 Stan Shebs <shebs@apple.com>
103
104 Remove MPW support, no longer used.
105 * config.bfd (powerpc-*-mpw*): Remove configuration.
106 * mpw-config.in, mpw-make.sed: Remove files.
107 * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
108
555cd476
AM
1092004-03-26 Alan Modra <amodra@bigpond.net.au>
110
111 * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
112 (ppc64_elf_add_symbol_hook): New function.
113 * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
114 const from Elf_Internal_Sym param.
115 * elflink.c (elf_link_add_object_symbols): Adjust.
116 * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
117 * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
118 * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
119 * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
120 * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
121 * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
122 * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
123 * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
124 * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
125 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
126 * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
127 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
128 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
129 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
130 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
131 * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
132
4ad4eba5
AM
1332004-03-26 Alan Modra <amodra@bigpond.net.au>
134
135 * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
136 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
137 (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
138 (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
139 (bfd_elf64_bfd_link_add_symbols): Delete.
140 (bfd_elf_link_add_symbols): Declare.
141 * elfcode.h (elf_bfd_link_add_symbols): Delete.
142 * elflink.c: Include safe-ctype.h.
143 (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
144 make static.
145 (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
146 (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
147 static.
148 (elf_link_add_archive_symbols): Rename from
149 _bfd_elf_link_add_archive_symbols, make static.
150 (elf_link_add_object_symbols): New function. Corresponding
151 elflink.h function converted to use elf_size_info.
152 (bfd_elf_link_add_symbols): Likewise.
153 (bfd_elf_size_dynamic_sections): Adjust.
154 * elflink.h (elf_bfd_link_add_symbols): Delete.
155 (elf_link_add_object_symbols): Delete.
156 * elf32-gen.c (elf32_generic_link_add_symbols): Call
157 bfd_elf_link_add_symbols.
158 * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
159
5a580b3a
AM
1602004-03-25 Alan Modra <amodra@bigpond.net.au>
161
162 * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
163 and chained shared libs only if dynsym. Clear dynsym on forced-local.
c152c796 164
5a580b3a
AM
165 * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
166 (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
167 (_bfd_elf_add_dt_needed_tag): Declare.
168 (_bfd_elf_sort_symbol): Declare.
169 (_bfd_elf_finalize_dynstr): Declare.
170 (RELOC_FOR_GLOBAL_SYM): Formatting.
171 * elfcode.h (elf_add_dynamic_entry): Delete.
172 * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
173 elflink.h function converted to use elf_size_info.
174 (_bfd_elf_add_dt_needed_tag): Likewise.
175 (_bfd_elf_sort_symbol): Likewise.
176 (_bfd_elf_finalize_dynstr): Likewise.
177 (compute_bucket_count): Likewise.
178 (bfd_elf_size_dynamic_sections): Likewise. Check result of
179 _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
180 (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
181 * elflink.h: ..here.
182 (sort_symbol, add_dt_needed_tag): Delete.
183 (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
184 (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
185 Update all users.
186 * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
187 * elf32-cris.c (add_dynamic_entry): Likewise.
188 * elf32-hppa.c (add_dynamic_entry): Likewise.
189 * elf32-i370.c (add_dynamic_entry): Likewise.
190 * elf32-i386.c (add_dynamic_entry): Likewise.
191 * elf32-m32r.c (add_dynamic_entry): Likewise.
192 * elf32-m68k.c (add_dynamic_entry): Likewise.
193 * elf32-ppc.c (add_dynamic_entry): Likewise.
194 * elf32-s390.c (add_dynamic_entry): Likewise.
195 * elf32-sh.c (add_dynamic_entry): Likewise.
196 * elf32-sparc.c (add_dynamic_entry): Likewise.
197 * elf32-vax.c (add_dynamic_entry): Likewise.
198 * elf32-xtensa.c (add_dynamic_entry): Likewise.
199 * elf64-alpha.c (add_dynamic_entry): Likewise.
200 * elf64-hppa.c (add_dynamic_entry): Likewise.
201 * elf64-ppc.c (add_dynamic_entry): Likewise.
202 * elf64-s390.c (add_dynamic_entry): Likewise.
203 * elf64-sparc.c (add_dynamic_entry): Likewise.
204 * elf64-x86-64.c (add_dynamic_entry): Likewise.
205 * elfxx-ia64.c (add_dynamic_entry): Likewise.
206 * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
207 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
208 * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
209 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
210
d507cf36
PB
2112004-03-23 Paul Brook <paul@codesourcery.com>
212
213 * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
214
88d65ad6
BW
2152004-03-22 Bob Wilson <bob.wilson@acm.org>
216
217 * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
218 literal tables and check for relocs outside of literal pools.
219 (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
220 (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
221 set DF_TEXTREL.
222 (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
223 (elf_xtensa_relocate_section): Read literal tables and check for
224 dynamic relocations in read-only sections and not in literal pools.
c152c796 225
b9cf773d
AM
2262004-03-23 Alan Modra <amodra@bigpond.net.au>
227
228 PR 51.
229 * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
230
e4a2175c
HPN
2312004-03-22 Hans-Peter Nilsson <hp@axis.com>
232
233 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
234 R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
235 not defined by the executable, or defined in a DSO.
236 <eliding run-time relocation of .got>: Initialize GOT entry for a
237 function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
238 executable.
239 (cris_elf_gc_sweep_hook): Improve fallthrough marking.
240 (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
241 a PLT reloc to GOT for an executable.
242 (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
b9cf773d 243 .got for a DSO and explain why.
e4a2175c
HPN
244 (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
245 and unreferenced symbols for which a PLT is defined. Adjust
246 dynamic-symbol pruning correspondingly, to make sure we don't lose
247 a dynamic symbol also defined by a DSO.
248
b2a8e766
AM
2492004-03-22 Alan Modra <amodra@bigpond.net.au>
250
251 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
252 and rel args. Group input and output args. Wrap to 80 columns.
253 * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
254 elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
255 elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
256 elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
257 elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
258 elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
259 elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
260 elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
261 RELOC_FOR_GLOBAL_SYMBOL invocation.
262
59c2e50f
L
2632004-03-20 H.J. Lu <hongjiu.lu@intel.com>
264
265 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
266 unresolved symbols in objects aren't allowed.
267
268 * elf-hppa.h (elf_hppa_relocate_section): Properly handle
269 unresolved symbols.
270 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
271 (elf_hppa_unmark_useless_dynamic_symbols):
272 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
273 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
274 (elf32_hppa_relocate_section): Likewise.
275 * elf32-i370.c (i370_elf_relocate_section): Likewise.
276 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
277 * elf32-sh.c (sh_elf_relocate_section): Likewise.
278 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
279 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
280
281 * elf-m10200.c (mn10200_elf_relocate_section): Use
282 RELOC_FOR_GLOBAL_SYMBOL.
283 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
284 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
285 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
286 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
287 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
288 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
289 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
290 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
291 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
292 * elf32-v850.c (v850_elf_relocate_section): Likewise.
293 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
294 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
295
9992270f
DA
2962004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
297
36751eee
DA
298 * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
299 (final_link_relocate): Likewise.
9992270f
DA
300 * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
301 R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
302
05864e2a
AM
3032004-03-19 Alan Modra <amodra@bigpond.net.au>
304
305 * Makefile.am: Run "make dep-am".
306 * Makefile.in: Regenerate.
307 * aclocal.m4: Regenerate.
308 * config.in: Regenerate.
309 * po/bfd.pot: Regenerate.
310
f218a464 3112004-03-19 Alan Modra <amodra@bigpond.net.au>
0f8a2703
AM
312 H.J. Lu <hongjiu.lu@intel.com>
313
314 * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
315 type and size change code to where it was previously. Remove
316 dt_needed param. Treat old weak syms as strong if new sym is
317 from a shared lib, even when old sym is from another shared
318 lib. Remove unnecessary tests of oldweak and newweak. Correct
319 comments.
320 (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
321 _bfd_elf_merge_symbol calls.
322 * elflink.h (elf_link_add_object_symbols): Update calls. Remove
323 dt_needed local var. Update comments.
324 * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
325 (_bfd_elf_add_default_symbol): Likewise.
f218a464
AM
326
327 * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
328 strong syms in one shared object overriding weak syms in another.
329
79349b09
AM
3302004-03-18 Alan Modra <amodra@bigpond.net.au>
331
4a43e768
AM
332 * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
333 dyn_lib_class field. Rearrange for better packing.
334 (elf_dt_soname): Delete.
335 (elf_dyn_lib_class): Define.
336 * elf.c (bfd_elf_set_dt_needed_name): Update comment.
337 (bfd_elf_set_dt_needed_soname): Delete.
338 (bfd_elf_set_dyn_lib_class): New function.
339 * elflink.h (add_dt_needed_tag): New function. Split out from..
340 (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
341 Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
342 initialization of soname.
343 (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
344 elf_dt_soname.
345 * bfd-in.h (enum dynamic_lib_link_class): New.
346 (bfd_elf_set_dt_needed_soname): Delete.
347 (bfd_elf_set_dyn_lib_class): Declare.
348 * bfd-in2.h: Regenerate.
349
79349b09
AM
350 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
351 (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
352 * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
353 symbol loop. Instead use add_needed to flag tag as written.
354
d13d89fa
NS
3552004-03-17 Nathan Sidwell <nathan@codesourcery.com>
356
357 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
358 logic for null_input_bfd detection.
359
9183ed4b
AM
3602004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
361
362 * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
363
021d7868
MK
3642004-03-16 Mark Kettenis <kettenis@gnu.org>
365
366 * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
367 code.
368
51992aec
AM
3692004-03-16 Alan Modra <amodra@bigpond.net.au>
370
371 * elflink.c (elf_link_read_relocs_from_section): Don't use
372 NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
373 (_bfd_elf_link_read_relocs): ..to here.
374 * elf32-ppc.c (ppc_elf_relax_section): Formatting.
375
ccba357f
AM
3762004-03-16 Alan Modra <amodra@bigpond.net.au>
377
378 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
379 values selected in configure.host. Require both to be defined
380 before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
381 corresponding BFD_HOST vars with quotes.
382 <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
383 Always require BFD_HOST_64_BIT_DEFINED.
384 <file_ptr type>: Find off_t size before emitting message. Combine
385 off_t and ftello64 conditional.
386 * configure: Regenerate.
387
41978308
AM
3882004-03-16 Alan Modra <amodra@bigpond.net.au>
389
390 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
391 aliasing warning. Remove trailing whitespace throughout file.
392
d63b5ed9
DA
3932004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
394
395 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
396 input_section in calls to get_dyn_name.
397 * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
398 local symbols.
399 (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
400
8ce8c090
AM
4012004-03-15 Alan Modra <amodra@bigpond.net.au>
402
403 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
404 (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
405 (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
406 (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
407 (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
408 * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
409 (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
410 when using long.
411 * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
412 (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
413 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
414 (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
415 (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
416 * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
417 (read_8_bytes, read_indirect_string, read_address): Likewise.
418 (read_abbrevs, parse_comp_unit): Likewise.
419 * targets.c (struct bfd_target): Likewise.
420 * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
421 * hppabsd-core.c: Likewise. Formatting.
422 * hpux-core.c: Likewise.
423 * irix-core.c: Likewise.
424 * netbsd-core.c: Likewise.
425 * osf-core.c: Likewise.
426 * ptrace-core.c: Likewise.
427 * sco5-core.c: Likewise.
428 * trad-core.c: Likewise.
429 * configure: Regenerate.
430 * bfd-in2.h: Regenerate.
431
edeb6e24
AM
4322004-03-15 Alan Modra <amodra@bigpond.net.au>
433
434 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
435 (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
436 (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
437 (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
438 (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
439 (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
440 (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
441 * libbfd.c: Likewise in function definitions.
442 (bfd_put_8): Mask with 0xff rather than casting to char.
443 (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
444 (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
445 (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
446 (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
447 (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
448 (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
449 * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
450 (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
451 (H_GET_64, H_GET_32, H_GET_16): Likewise.
452 (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
453 * archive.c (do_slurp_coff_armap): Update swap prototype.
454 * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
455 (tic54x_getl_signed_32): Likewise.
456 (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
457 * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
458 * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
459 (bfd_getp_signed_32, bfd_putp32): Likewise.
460 * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
461 bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
462 bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
463 bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
464 bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
465 bfd_h_getx_signed_16, bfd_h_putx16.
466 * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
467 * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
468 * hpux-core.c: Likewise.
469 * irix-core.c: Likewise.
470 * netbsd-core.c: Likewise.
471 * osf-core.c: Likewise.
472 * ptrace-core.c: Likewise.
473 * sco5-core.c: Likewise.
474 * trad-core.c: Likewise.
475 * bfd-in2.h: Regenerate.
476
c1b954e2
AM
4772004-03-15 Matt Thomas <matt@3am-software.com>
478
479 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
480 selected.
481
85cfd8d3
MK
4822004-03-13 Mark Kettenis <kettenis@gnu.org>
483
484 * config.bfd: Add x86_64-*-openbsd*.
485 * configure.in (x86_64-*-openbsd*): Set COREFILE to
486 netbsd-core.lo.
487 * configure: Regenerate.
488
d1f161ea
NC
4892004-03-12 Nick Clifton <nickc@redhat.com>
490 Dave Murphy <wintermute2k4@ntlworld.com>
c1b954e2 491
d1f161ea
NC
492 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
493 if the input bfd does not contain any code.
494
8b6f2683
JW
4952004-03-09 Steve Ellcey <sje@cup.hp.com>
496
497 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
498
79cda7cf
FF
4992004-03-05 Fred Fish <fnf@redhat.com>
500
501 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
502 mips16 symbols to be even rather than testing first for even/odd.
503 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
504
e5caec89
NS
5052004-03-05 Nathan Sidwell <nathan@codesourcery.com>
506
507 * elf.c (map_sections_to_segments): Ignore .tbss sections for
508 layout purposes.
509
02bb6eae
AO
5102004-03-03 Alexandre Oliva <aoliva@redhat.com>
511
512 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
513 undefined symbols as hash_new.
514
ae51a426
JR
5152003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
516
517 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
518 * cpu-sh.c: Ditto.
519 * elf32-sh.c: Ditto.
520 * bfd-in2.h: Regenerate.
521
3b712a1a
AO
5222004-03-02 Alexandre Oliva <aoliva@redhat.com>
523
524 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
525 dynrelocs.
526 (_frv_count_got_plt_entries): Initialize them.
527 (frv_pic_relocs_info_find): Add insert argument. Adjust all
528 callers.
529 (frv_pic_relocs_info_for_global): Likewise.
530 (frv_pic_relocs_info_for_local): Likewise.
531 (frv_pic_merge_early_relocs_info): New.
532 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
533 another.
534 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
535 Check that we don't exceed the allocated count for entry.
536 (_frv_add_rofixup): Likewise.
537 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
538 (elf32_frv_finish_dynamic_sections): Improve error message in case
539 we emit too few rofixup entries.
540
676a64f4
RS
5412004-03-01 Richard Sandiford <rsandifo@redhat.com>
542
543 * archures.c (bfd_mach_fr450): New.
544 * bfd-in2.h: Regenerate.
545 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
546 (arch_info_500): Link to it.
547 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
548 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
549 (frv_elf_arch_extension_p): New function.
550 (frv_elf_merge_private_bfd_data): Use it.
551
0ad989f9
L
5522004-02-28 H.J. Lu <hongjiu.lu@intel.com>
553
554 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
555
556 * elflink.h (is_global_data_symbol_definition): Moved to
557 elflink.c.
558 (elf_link_is_defined_archive_symbol): Likewise.
559 (elf_link_add_archive_symbols): Likewise. Renamed to
560 _bfd_elf_link_add_archive_symbols.
561
562 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
563 of ELF symbol table entry from backend.
564 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
565 instead of elf_link_add_object_symbols.
566
ec3391e7
AO
5672004-02-27 Alexandre Oliva <aoliva@redhat.com>
568
569 * elf-bfd.h (struct elf_backend_data): Added
570 elf_backend_can_make_relative_eh_frame,
571 elf_backend_can_make_lsda_relative_eh_frame and
572 elf_backend_encode_eh_address.
573 (_bfd_elf_encode_eh_address): Declare.
574 (_bfd_elf_can_make_relative): Declare.
575 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
576 hooks to decide whether to attempt to make_relative and
577 make_lsda_relative.
578 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
579 (_bfd_elf_can_make_relative): New.
580 (_bfd_elf_encode_eh_address): New.
581 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
582 (frv_elf_encode_eh_address): New.
583 (elf_backend_can_make_relative_eh_frame): Define.
584 (elf_backend_can_make_lsda_relative_eh_frame): Define.
585 (elf_backend_encode_eh_address): Define.
586 * elfxx-target.h
587 (elf_backend_can_make_relative_eh_frame): Define.
588 (elf_backend_can_make_lsda_relative_eh_frame): Define.
589 (elf_backend_encode_eh_address): Define.
590 (elfNN_bed): Add them.
591
e6deed0a
AO
5922004-02-27 Alexandre Oliva <aoliva@redhat.com>
593
594 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
595 complain_on_overflow to signed.
596
b60d7a1a
L
5972004-02-27 H.J. Lu <hongjiu.lu@intel.com>
598
599 * elflink.h (sort_symbol): New.
600 (elf_link_add_object_symbols): Use a sorted symbol array for
601 weakdef.
602
1c3ff0f2
MS
6032004-02-27 Jakub Jelinek <jakub@redhat.com>
604
605 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
606 for pc relative relocs.
607 (elf_s390_relocate_section): Likewise.
608 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
609 for pc relative relocs.
610 (elf_s390_relocate_section): Likewise.
611
de9811af
L
6122004-02-26 H.J. Lu <hongjiu.lu@intel.com>
613
614 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
615 count_dyn_reloc.
616
ac33696c
L
6172004-02-25 H.J. Lu <hongjiu.lu@intel.com>
618
619 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
620 field to track if a relocation is against readonly section.
621 (count_dyn_reloc): Take a new argument for rent->reltext.
622 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
623 (get_reloc_section): Don't set ia64_info->reltext here.
624 (allocate_dynrel_entries): Set ia64_info->reltext here.
625
072c8903
AO
6262004-02-24 Alexandre Oliva <aoliva@redhat.com>
627
628 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
629 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
630 function's descriptor to symbol+offset, and map local undefweak
631 symbol to NULL function descriptor.
632 (elf32_frv_relocate_section): Likewise.
633
aca305d9
NC
6342004-02-23 Mark Kettenis <kettenis@gnu.org>
635
636 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
637 M_X86_64_NETBSD.
638 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
639 (netbsd_core_file_p): Set architecture from machine ID for
640 selected machines.
641
646411fb
JJ
6422004-02-23 Jakub Jelinek <jakub@redhat.com>
643
644 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
645 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
646
1de1a317
L
6472004-02-21 H.J. Lu <hongjiu.lu@intel.com>
648
649 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
650 symbols with non-default visibility.
651
3c9d0484
DS
6522004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
653
654 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
655 IMAGE_SCN_MEM_WRITE on known sections only.
656
a876ecf9
JJ
6572004-02-20 Jakub Jelinek <jakub@redhat.com>
658
659 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
660 symbols used in PIE relocs.
661
a8a6d7ce
JJ
6622004-02-19 Jakub Jelinek <jakub@redhat.com>
663
664 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
665 .plt sh_entsize.
666
d080fcd2
DJ
6672004-02-18 Daniel Jacobowitz <drow@mvista.com>
668
669 * configure.in: Update version to 2.15.90.
670 * configure: Regenerate.
671
d25aed71 6722004-02-17 Daniel Jacobowitz <drow@mvista.com>
c1b954e2 673 Richard Sandiford <rsandifo@redhat.com>
d25aed71
RS
674
675 * elfxx-mips.c (mips_elf_calculate_relocation): Use
676 _bfd_elf_symbol_refs_local_p to decide whether to decay
677 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
678 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
679 relocs if the symbol wasn't defined by a regular object file.
680 Don't check the symbol's dynindx.
681
d7ce59e3
AC
6822004-02-16 Andrew Cagney <cagney@redhat.com>
683
684 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
685 @bfd_file_ptr@.
686 * bfd-in2.h: Re-generate.
687
ca0b7686
AC
6882004-02-14 Andrew Cagney <cagney@redhat.com>
689
690 * configure.host (HDEFINES): When hppa*-*-hpux*, define
691 _LARGEFILE64_SOURCE.
692
340b6d91
AC
6932004-02-13 Andrew Cagney <cagney@redhat.com>
694
695 * elf.c (vma_page_aligned_bias): New function.
696 (assign_file_positions_except_relocs)
697 (assign_file_positions_for_segments): Replace broken modulo
698 arithmetic with call to vma_page_aligned_bias.
699
1012372a
AC
7002004-02-11 Andrew Cagney <cagney@redhat.com>
701
7c192733
AC
702 * bfd-in.h: Update copyright.
703 (bfd_tell): Change return type to file_ptr.
704 * bfd-in2.h: Re-generate.
705 * cache.c: Update copyright.
706 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
707 parameter.
708 (close_one): Use real_ftell.
709 * bfdio.c: Update copyright.
710 (real_ftell, real_fseek): New functions.
711 (bfd_tell): Use real_fseek and real_ftell, change return type to
712 file_ptr.
713 (bfd_seek): Use real_ftell and real_fseek, change type of
714 file_position to a file_ptr.
715 * libbfd-in.h: Update copyright.
716 (real_ftell, real_fseek): Declare.
717 * libbfd.h: Re-generate.
718
1012372a
AC
719 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
720 fseeko and fseeko64. Determine bfd_file_ptr.
721 * configure: Re-generate.
c1ea0c09 722 * config.in: Re-generate.
c1b954e2 723
3255318a
NC
7242004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
725
726 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
727 * elf32-h8300.c: Likewise.
728
0d5f9994
NC
7292004-02-09 Christian Vogel <vogelchr@vogel.cx>
730 Nick Clifton <nickc@redhat.com>
731
732 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
733 GOT entries with no associated GOT subsection.
734
174fd7f9
RS
7352004-02-09 Richard Sandiford <rsandifo@redhat.com>
736
737 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
738 * elf.c (swap_out_syms): Use it to decide whether local section
739 symbols should be named.
740 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
741 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
742 (elf_backend_name_local_section_symbols): Define.
743 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
744
03609792
L
7452004-01-30 H.J. Lu <hongjiu.lu@intel.com>
746
747 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
748 (elfNN_ia64_relax_section): Optimize brl to br during the relax
749 finalize pass.
750
ea01195e
AO
7512004-01-30 Alexandre Oliva <aoliva@redhat.com>
752
753 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
754 to bfd_link_hash_entry passed by reference to
755 _bfd_generic_link_add_one_symbol.
756
838e70c5
L
7572004-01-25 H.J. Lu <hongjiu.lu@intel.com>
758
759 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
760 relocations against dynamic symbols.
761
4f199be3
DJ
7622004-01-23 Daniel Jacobowitz <drow@mvista.com>
763
764 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
765 change.
766
28d39d1a
NC
7672004-01-21 Tom Rix <tcrix@worldnet.att.net>
768
769 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
770 * bfd-in2.h, libbfd.h: Rebuilt.
771
66bed356
DS
7722004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
773
774 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
775 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
776 flag has been cleared.
777
7e89635a
KH
7782004-01-19 Kazu Hirata <kazu@cs.umass.edu>
779
780 * coff-h8300.c: Add and adjust comments about relaxation.
781 * elf32-h8300.c: Likewise.
782
e804e836
KH
7832004-01-16 Kazu Hirata <kazu@cs.umass.edu>
784
785 * coff-h8300.c: Fix comment typos.
786 * elf32-h8300.c: Likewise.
787
630a7b0a
KH
7882004-01-16 Kazu Hirata <kazu@cs.umass.edu>
789
790 * coff-h8300.c: Add comments about relaxation.
791 * elf32-h8300.c: Likewise.
792
f8b73030
MR
7932004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
794
795 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
796 throughout.
797 * aclocal.m4: Regenerate.
798 * configure: Regenerate.
799
32159579
ILT
8002004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
801
802 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
803 mips_elf64_rtype_to_howto instead of using howto_table.
804
c84cd8ee
DJ
8052004-01-13 Daniel Jacobowitz <drow@mvista.com>
806
807 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
808 the .plt section.
809 (elf32_arm_check_relocs): Don't increment the PLT refcount for
810 relocs which would not use the PLT.
811
680a3378
AM
8122004-01-13 Alan Modra <amodra@bigpond.net.au>
813
814 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
815 (ppc64_elf_gc_sweep_hook): Likewise.
816 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
817
faca21e5
NC
8182004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
819
820 Adds linker relaxation support for bit manipulation insns like
680a3378 821 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
faca21e5 822 bst, btst, bxor.
680a3378 823 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5 824 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
680a3378 825 * coff-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5
NC
826 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
827
818a27ac
AM
8282004-01-12 Alan Modra <amodra@bigpond.net.au>
829
830 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
831
96ef1419
KH
8322004-01-11 Kazu Hirata <kazu@cs.umass.edu>
833
834 * elf32-h8300.c: Fix formatting.
835
babfd660
KH
8362004-01-11 Kazu Hirata <kazu@cs.umass.edu>
837
838 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
839 dynamic object is present. Declare r_symndx and h in an inner
840 scope.
841 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
842
7359ea65
DJ
8432004-01-09 Daniel Jacobowitz <drow@mvista.com>
844
845 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
846 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
847 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
848 identically. Do not emit PC24 relocations for shared libraries.
849 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
850 identically. Don't adjust pc_count.
851 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
852 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
853 adjust count for branch relocations.
854 (allocate_dynrelocs): Correct typo in call to
855 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
856 PC24 or PLT32 relocs when linking.
857
44e88952
NC
8582004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
859
860 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
861 relocation howto with ARM_26 one for consistency.
862 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
863 that will be converted to ARM_26D ones, since we always want 'done'
864 relocations to be reflected in section's data.
865 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
866 offset.
867 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
868 requested.
869
1e7fef1d
NC
8702004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
871
872 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
873 are not partial_inplace during a relocatable link.
874
4f075348
KH
8752004-01-08 Kazu Hirata <kazu@cs.umass.edu>
876
babfd660 877 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4f075348
KH
878 if no dynamic object is present. Declare r_symndx and h in an
879 inner scope.
880
de0d9f33
L
8812004-01-07 H.J. Lu <hongjiu.lu@intel.com>
882
883 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
884 trampoline if it is known out of range.
885
51532845
AO
8862004-01-06 Alexandre Oliva <aoliva@redhat.com>
887
888 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
889 * elf32-frv.c (_frv_osec_readonly_p): New.
890 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
891 undefweak symbol.
892 (_frv_count_got_plt_entries): Adjust expected count accordingly.
893 (elf32_frv_relocate_section): Likewise. Error out if attempting
894 to emit rofixups or dynamic relocs in read-only segments. Use
895 _bfd_elf_section_offset to adjust r_offsets in rofixups and
896 dynamic relocations.
897 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
898 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
899 relocations or fixups involving merged sections correctly. Avoid
900 crash when undefined symbol is referenced by R_FRV_32 or
901 R_FRV_FUNCDESC_VALUE.
902 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
903 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
904 input section holding local symbol to addend of R_FRV_32 or
905 R_FRV_FUNCDESC_VALUE dynamic relocation.
906 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
907 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
908 (elf32_frv_always_size_sections): Don't store pointer to
909 __stacksize symbol in sec_info.
910 (elf32_frv_modify_segment_map): Look it up here.
911 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
912 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
913 of the lazy PLT entry, not only its offset, as the low word of a
914 function descriptor.
915 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
916 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
917 if a hash table entry already exists but is not a definition.
918 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
919 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
920 (_frv_add_rofixup): Don't inline.
921 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
922 for undefweak symbols.
923 (elf32_frv_relocate_section): Avoid crash while computing
924 relocation when linking with shared library. Only emit rofixups
925 and dynamic relocations for alloc&load sections. Mark binaries
926 with inter-segment relocations for relocation as a unit.
927 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
928 (DEFAULT_STACK_SIZE): New.
929 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
930 emit rofixups or dynamic relocs when linking dynamic non-PIE
931 executables.
932 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
933 shared libs too. Reserve the last entry for the GOT pointer.
934 (elf32_frv_finish_dynamic_sections): Emit it.
935 (elf32_frv_always_size_sections): New.
936 (elf32_frv_modify_segment_map): New.
937 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
938 sections.
939 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
940 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
941 (elf_backend_always_size_sections): New.
942 (elf_backend_modify_segment_map): New.
943 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
944 * config.bfd: Added frv-*-*linux*.
945 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
946 ABS section, instead of crashing.
947 (elf32_frv_relocate_section): Don't crash before warning about
948 different segments in non-PIC relocation.
949 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
950 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
951 relocs to undefweak symbols.
952 (elf32_frv_relocate_section): Ditto for undefined symbols.
953 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
954 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
955 gotfixup section was created.
956 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
957 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
958 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
959 complain_overflow_signed.
960 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
961 have not been allocated.
962 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
963 privfd only if dynamic sections were created.
964 (elf32_frv_relocate_section): Compute gprel_segment, and use it
965 for GPREL relocs. When linking relocatable FDPIC executables,
966 emit warnings for relocations that would be illegal on PIE or
967 shared libraries. Emit rofixup for R_FRV_32 only if input object
968 is not FDPIC.
969 (_frv_create_got_section): Define _gp symbol in the rofixup
970 section.
971 (elf32_frv_finish_dynamic_sections): If rofixups needed but
972 dynamic sections missing, error out requesting -melf32frvfd.
973 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
974 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
975 computation of addends from section and global or local symbol
976 value. Change return type to bfd_boolean, and return a failure if
977 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
978 nonzero addend is required.
979 (elf32_frv_relocate_section): Likewise. Print error for
980 unsupported nonzero addends.
981 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
982 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
983 force everything local.
984 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
985 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
986 (frv_gotfixup_section): New.
987 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
988 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
989 and relocsfdv.
990 (_frv_add_rofixup): New.
991 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
992 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
993 improve some ugly conditions.
994 (elf32_frv_relocate_section): Likewise. Reject inter-segment
995 relocations in fdpic.
996 (_frv_create_got_section): Create .rofixup.got section.
997 (struct _frv_dynamic_got_info): Added fixups.
998 (_frv_count_got_plt_entries): Account in-GOT relocations into
999 relocs32, relocsfd and relocsfdv. Account them into relocs or
1000 fixups, as appropriate.
1001 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
1002 sizing of gotrel.
1003 (elf32_frv_finish_dynamic_sections): Verify that the right number
1004 of relocations and fixups was generated.
1005 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
1006 relocsfdv.
1007 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
1008 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
1009 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
1010 descriptor of a (formerly-)global symbol is local.
1011 (struct frv_pic_relocs_info): Adjust comments.
1012 (_frv_emit_got_relocs_plt_entries): Adjust.
1013 (elf32_frv_relocate_section): Likewise.
1014 (_frv_count_got_plt_entries): Likewise.
1015 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
1016 symbol's value to addend in the common preamble. Decay dynamic
1017 symbols to section+offset if they bind or call locally, for GOT
1018 and FUNCDESC_VALUE, respectively.
1019 (elf32_frv_relocate_section): Likewise.
1020 (elf32_frv_check_relocs): Don't register as dynamic symbols of
1021 internal or hidden visibility.
1022 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
1023 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
1024 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
1025 (elf32_frv_relocate_section): Pass relocation addend in. Use
1026 original relocation addend to look up the got relocs/plt entries
1027 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
1028 processing relocations that reference .scommon symbols.
1029 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
1030 Introduce support for dynamic linking.
1031 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
1032 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
1033 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
1034 (frv_reloc_type_lookup): Return REL howtos for executables and
1035 dynamic libraries.
1036 (frv_info_to_howto_rel): New.
1037 (struct frv_elf_link_hash_table): New.
1038 (frv_hash_table, frv_got_section, frv_gotrel_section,
1039 frv_plt_section, frv_pltrel_section, frv_relocs_info,
1040 frv_got_initial_offset, frv_plt_initial_offset): New macros.
1041 (frv_elf_link_hash_table_create): New.
1042 (struct frv_pic_relocs_info): New.
1043 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
1044 (frv_pic_relocs_info_find): New.
1045 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
1046 New.
1047 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
1048 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
1049 (_frv_emit_got_relocs_plt_entries): New.
1050 (elf32_frv_relocate_section): Add support for dynamic linking.
1051 Handle new relocations.
1052 (_frv_create_got_section): New.
1053 (elf32_frv_create_dynamic_sections): New.
1054 (ELF_DYNAMIC_INTERPRETER): New.
1055 (struct _frv_dynamic_got_info): New.
1056 (_frv_count_got_plt_entries): New.
1057 (struct _frv_dynamic_got_plt_info): New.
1058 (_frv_compute_got_alloc_data): New.
1059 (_frv_get_got_entry, _frv_get_fd_entry): New.
1060 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
1061 (_frv_resolve_final_relocs_info): New.
1062 (elf32_frv_size_dynamic_sections): New.
1063 (elf32_frv_finish_dynamic_sections): New.
1064 (elf32_frv_adjust_dynamic_symbol): New.
1065 (elf32_frv_finish_dynamic_symbol): New.
1066 (elf32_frv_check_relocs): Handle new relocs. Explain how the
1067 whole thing works.
1068 (elf_info_to_howto_rel): Define.
1069 (bfd_elf32_bfd_link_hash_table_create): Define.
1070 (elf_backend_create_dynamic_sections): Define.
1071 (elf_backend_adjust_dynamic_symbol): Define.
1072 (elf_backend_size_dynamic_sections): Define.
1073 (elf_backend_finish_dynamic_symbol): Define.
1074 (elf_backend_finish_dynamic_sections): Define.
1075 (elf_backend_want_got_sym): Define.
1076 (elf_backend_got_header_size): Define.
1077 (elf_backend_want_got_plt): Define.
1078 (elf_backend_plt_readonly): Define.
1079 (elf_backend_want_plt_sym): Define.
1080 (elf_backend_plt_header_size): Define.
1081 (elf_backend_may_use_rel_p): Define.
1082 (elf_backend_may_use_rela_p): Define.
1083 (elf_backend_default_use_rela_p): Define.
1084 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
1085 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
1086 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
1087 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
1088 (frv_reloc_map): Map the corresponding BFD relocs to them.
1089 (frv_reloc_type_lookup): ... and back to BFD relocs.
1090 * reloc.c: New relocs.
1091 * bfd-in2.h, libbfd.h: Rebuilt.
1092 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
1093 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
1094 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
1095 R_FRV_FUNCDESC_GOTLO): New.
1096 (frv_reloc_map): Map the corresponding BFD relocs to them.
1097 (frv_reloc_type_lookup): ... and back to BFD relocs.
1098 * reloc.c: New relocs.
1099 * bfd-in2.h, libbfd.h: Rebuilt.
1100
4301eeb1
MR
11012004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1102
1103 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1104 targets to support pages of up to 64kB.
1105 (elf32_bed): Redefine to get a separate backend data structure for
1106 traditional targets.
1107 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1108 targets to support pages of up to 64kB.
1109 (elf64_bed): Redefine to get a separate backend data structure for
1110 traditional targets.
1111 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
1112 targets to support pages of up to 64kB.
1113 (elf32_bed): Redefine to get a separate backend data structure for
1114 traditional targets.
1115
0647ed71
MK
11162004-01-04 Mark Kettenis <kettenis@gnu.org>
1117
1118 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
1119
61adc1a4
NC
11202004-01-02 Mark Kettenis <kettenis@gnu.org>
1121
1122 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
1123 (elf_i386_grok_psinfo): Likewise.
1124
b50c15dc
NC
11252004-01-02 Bernardo Innocenti <bernie@develer.com>
1126
1127 * config.bfd: Add m68k-uClinux target.
1128
2627de83
AM
11292004-01-01 Grant Edwards <grante@visi.com>
1130
1131 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
1132 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
1133 (elf32_h8_gc_sweep_hook): New function.
1134 (elf_backend_gc_mark_hook): Define.
1135 (elf_backend_gc_sweep_hook): Define.
1136 (elf_backend_can_gc_sections): Define.
1137
c9e214e5 1138For older changes see ChangeLog-0203
56882138
AM
1139\f
1140Local Variables:
1141mode: change-log
1142left-margin: 8
1143fill-column: 74
1144version-control: never
1145End:
This page took 0.342796 seconds and 4 git commands to generate.