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