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