]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - bfd/ChangeLog
Patch from Steve Ellcey for potential race condition.
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
1 2004-03-09 Steve Ellcey <sje@cup.hp.com>
2
3 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
4
5 2004-03-05 Fred Fish <fnf@redhat.com>
6
7 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
8 mips16 symbols to be even rather than testing first for even/odd.
9 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
10
11 2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
12
13 * elf.c (map_sections_to_segments): Ignore .tbss sections for
14 layout purposes.
15
16 2004-03-03 Alexandre Oliva <aoliva@redhat.com>
17
18 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
19 undefined symbols as hash_new.
20
21 2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
22
23 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
24 * cpu-sh.c: Ditto.
25 * elf32-sh.c: Ditto.
26 * bfd-in2.h: Regenerate.
27
28 2004-03-02 Alexandre Oliva <aoliva@redhat.com>
29
30 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
31 dynrelocs.
32 (_frv_count_got_plt_entries): Initialize them.
33 (frv_pic_relocs_info_find): Add insert argument. Adjust all
34 callers.
35 (frv_pic_relocs_info_for_global): Likewise.
36 (frv_pic_relocs_info_for_local): Likewise.
37 (frv_pic_merge_early_relocs_info): New.
38 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
39 another.
40 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
41 Check that we don't exceed the allocated count for entry.
42 (_frv_add_rofixup): Likewise.
43 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
44 (elf32_frv_finish_dynamic_sections): Improve error message in case
45 we emit too few rofixup entries.
46
47 2004-03-01 Richard Sandiford <rsandifo@redhat.com>
48
49 * archures.c (bfd_mach_fr450): New.
50 * bfd-in2.h: Regenerate.
51 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
52 (arch_info_500): Link to it.
53 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
54 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
55 (frv_elf_arch_extension_p): New function.
56 (frv_elf_merge_private_bfd_data): Use it.
57
58 2004-02-28 H.J. Lu <hongjiu.lu@intel.com>
59
60 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
61
62 * elflink.h (is_global_data_symbol_definition): Moved to
63 elflink.c.
64 (elf_link_is_defined_archive_symbol): Likewise.
65 (elf_link_add_archive_symbols): Likewise. Renamed to
66 _bfd_elf_link_add_archive_symbols.
67
68 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
69 of ELF symbol table entry from backend.
70 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
71 instead of elf_link_add_object_symbols.
72
73 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
74
75 * elf-bfd.h (struct elf_backend_data): Added
76 elf_backend_can_make_relative_eh_frame,
77 elf_backend_can_make_lsda_relative_eh_frame and
78 elf_backend_encode_eh_address.
79 (_bfd_elf_encode_eh_address): Declare.
80 (_bfd_elf_can_make_relative): Declare.
81 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
82 hooks to decide whether to attempt to make_relative and
83 make_lsda_relative.
84 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
85 (_bfd_elf_can_make_relative): New.
86 (_bfd_elf_encode_eh_address): New.
87 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
88 (frv_elf_encode_eh_address): New.
89 (elf_backend_can_make_relative_eh_frame): Define.
90 (elf_backend_can_make_lsda_relative_eh_frame): Define.
91 (elf_backend_encode_eh_address): Define.
92 * elfxx-target.h
93 (elf_backend_can_make_relative_eh_frame): Define.
94 (elf_backend_can_make_lsda_relative_eh_frame): Define.
95 (elf_backend_encode_eh_address): Define.
96 (elfNN_bed): Add them.
97
98 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
99
100 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
101 complain_on_overflow to signed.
102
103 2004-02-27 H.J. Lu <hongjiu.lu@intel.com>
104
105 * elflink.h (sort_symbol): New.
106 (elf_link_add_object_symbols): Use a sorted symbol array for
107 weakdef.
108
109 2004-02-27 Jakub Jelinek <jakub@redhat.com>
110
111 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
112 for pc relative relocs.
113 (elf_s390_relocate_section): Likewise.
114 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
115 for pc relative relocs.
116 (elf_s390_relocate_section): Likewise.
117
118 2004-02-26 H.J. Lu <hongjiu.lu@intel.com>
119
120 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
121 count_dyn_reloc.
122
123 2004-02-25 H.J. Lu <hongjiu.lu@intel.com>
124
125 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
126 field to track if a relocation is against readonly section.
127 (count_dyn_reloc): Take a new argument for rent->reltext.
128 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
129 (get_reloc_section): Don't set ia64_info->reltext here.
130 (allocate_dynrel_entries): Set ia64_info->reltext here.
131
132 2004-02-24 Alexandre Oliva <aoliva@redhat.com>
133
134 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
135 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
136 function's descriptor to symbol+offset, and map local undefweak
137 symbol to NULL function descriptor.
138 (elf32_frv_relocate_section): Likewise.
139
140 2004-02-23 Mark Kettenis <kettenis@gnu.org>
141
142 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
143 M_X86_64_NETBSD.
144 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
145 (netbsd_core_file_p): Set architecture from machine ID for
146 selected machines.
147
148 2004-02-23 Jakub Jelinek <jakub@redhat.com>
149
150 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
151 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
152
153 2004-02-21 H.J. Lu <hongjiu.lu@intel.com>
154
155 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
156 symbols with non-default visibility.
157
158 2004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
159
160 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
161 IMAGE_SCN_MEM_WRITE on known sections only.
162
163 2004-02-20 Jakub Jelinek <jakub@redhat.com>
164
165 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
166 symbols used in PIE relocs.
167
168 2004-02-19 Jakub Jelinek <jakub@redhat.com>
169
170 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
171 .plt sh_entsize.
172
173 2004-02-18 Daniel Jacobowitz <drow@mvista.com>
174
175 * configure.in: Update version to 2.15.90.
176 * configure: Regenerate.
177
178 2004-02-17 Daniel Jacobowitz <drow@mvista.com>
179 Richard Sandiford <rsandifo@redhat.com>
180
181 * elfxx-mips.c (mips_elf_calculate_relocation): Use
182 _bfd_elf_symbol_refs_local_p to decide whether to decay
183 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
184 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
185 relocs if the symbol wasn't defined by a regular object file.
186 Don't check the symbol's dynindx.
187
188 2004-02-16 Andrew Cagney <cagney@redhat.com>
189
190 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
191 @bfd_file_ptr@.
192 * bfd-in2.h: Re-generate.
193
194 2004-02-14 Andrew Cagney <cagney@redhat.com>
195
196 * configure.host (HDEFINES): When hppa*-*-hpux*, define
197 _LARGEFILE64_SOURCE.
198
199 2004-02-13 Andrew Cagney <cagney@redhat.com>
200
201 * elf.c (vma_page_aligned_bias): New function.
202 (assign_file_positions_except_relocs)
203 (assign_file_positions_for_segments): Replace broken modulo
204 arithmetic with call to vma_page_aligned_bias.
205
206 2004-02-11 Andrew Cagney <cagney@redhat.com>
207
208 * bfd-in.h: Update copyright.
209 (bfd_tell): Change return type to file_ptr.
210 * bfd-in2.h: Re-generate.
211 * cache.c: Update copyright.
212 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
213 parameter.
214 (close_one): Use real_ftell.
215 * bfdio.c: Update copyright.
216 (real_ftell, real_fseek): New functions.
217 (bfd_tell): Use real_fseek and real_ftell, change return type to
218 file_ptr.
219 (bfd_seek): Use real_ftell and real_fseek, change type of
220 file_position to a file_ptr.
221 * libbfd-in.h: Update copyright.
222 (real_ftell, real_fseek): Declare.
223 * libbfd.h: Re-generate.
224
225 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
226 fseeko and fseeko64. Determine bfd_file_ptr.
227 * configure: Re-generate.
228 * config.in: Re-generate.
229
230 2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
231
232 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
233 * elf32-h8300.c: Likewise.
234
235 2004-02-09 Christian Vogel <vogelchr@vogel.cx>
236 Nick Clifton <nickc@redhat.com>
237
238 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
239 GOT entries with no associated GOT subsection.
240
241 2004-02-09 Richard Sandiford <rsandifo@redhat.com>
242
243 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
244 * elf.c (swap_out_syms): Use it to decide whether local section
245 symbols should be named.
246 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
247 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
248 (elf_backend_name_local_section_symbols): Define.
249 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
250
251 2004-01-30 H.J. Lu <hongjiu.lu@intel.com>
252
253 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
254 (elfNN_ia64_relax_section): Optimize brl to br during the relax
255 finalize pass.
256
257 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
258
259 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
260 to bfd_link_hash_entry passed by reference to
261 _bfd_generic_link_add_one_symbol.
262
263 2004-01-25 H.J. Lu <hongjiu.lu@intel.com>
264
265 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
266 relocations against dynamic symbols.
267
268 2004-01-23 Daniel Jacobowitz <drow@mvista.com>
269
270 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
271 change.
272
273 2004-01-21 Tom Rix <tcrix@worldnet.att.net>
274
275 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
276 * bfd-in2.h, libbfd.h: Rebuilt.
277
278 2004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
279
280 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
281 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
282 flag has been cleared.
283
284 2004-01-19 Kazu Hirata <kazu@cs.umass.edu>
285
286 * coff-h8300.c: Add and adjust comments about relaxation.
287 * elf32-h8300.c: Likewise.
288
289 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
290
291 * coff-h8300.c: Fix comment typos.
292 * elf32-h8300.c: Likewise.
293
294 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
295
296 * coff-h8300.c: Add comments about relaxation.
297 * elf32-h8300.c: Likewise.
298
299 2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
300
301 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
302 throughout.
303 * aclocal.m4: Regenerate.
304 * configure: Regenerate.
305
306 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
307
308 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
309 mips_elf64_rtype_to_howto instead of using howto_table.
310
311 2004-01-13 Daniel Jacobowitz <drow@mvista.com>
312
313 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
314 the .plt section.
315 (elf32_arm_check_relocs): Don't increment the PLT refcount for
316 relocs which would not use the PLT.
317
318 2004-01-13 Alan Modra <amodra@bigpond.net.au>
319
320 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
321 (ppc64_elf_gc_sweep_hook): Likewise.
322 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
323
324 2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
325
326 Adds linker relaxation support for bit manipulation insns like
327 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
328 bst, btst, bxor.
329 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
330 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
331 * coff-h8300.c: Opcode for bit manipulation insn is checked in
332 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
333
334 2004-01-12 Alan Modra <amodra@bigpond.net.au>
335
336 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
337
338 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
339
340 * elf32-h8300.c: Fix formatting.
341
342 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
343
344 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
345 dynamic object is present. Declare r_symndx and h in an inner
346 scope.
347 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
348
349 2004-01-09 Daniel Jacobowitz <drow@mvista.com>
350
351 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
352 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
353 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
354 identically. Do not emit PC24 relocations for shared libraries.
355 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
356 identically. Don't adjust pc_count.
357 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
358 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
359 adjust count for branch relocations.
360 (allocate_dynrelocs): Correct typo in call to
361 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
362 PC24 or PLT32 relocs when linking.
363
364 2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
365
366 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
367 relocation howto with ARM_26 one for consistency.
368 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
369 that will be converted to ARM_26D ones, since we always want 'done'
370 relocations to be reflected in section's data.
371 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
372 offset.
373 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
374 requested.
375
376 2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
377
378 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
379 are not partial_inplace during a relocatable link.
380
381 2004-01-08 Kazu Hirata <kazu@cs.umass.edu>
382
383 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
384 if no dynamic object is present. Declare r_symndx and h in an
385 inner scope.
386
387 2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
388
389 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
390 trampoline if it is known out of range.
391
392 2004-01-06 Alexandre Oliva <aoliva@redhat.com>
393
394 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
395 * elf32-frv.c (_frv_osec_readonly_p): New.
396 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
397 undefweak symbol.
398 (_frv_count_got_plt_entries): Adjust expected count accordingly.
399 (elf32_frv_relocate_section): Likewise. Error out if attempting
400 to emit rofixups or dynamic relocs in read-only segments. Use
401 _bfd_elf_section_offset to adjust r_offsets in rofixups and
402 dynamic relocations.
403 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
404 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
405 relocations or fixups involving merged sections correctly. Avoid
406 crash when undefined symbol is referenced by R_FRV_32 or
407 R_FRV_FUNCDESC_VALUE.
408 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
409 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
410 input section holding local symbol to addend of R_FRV_32 or
411 R_FRV_FUNCDESC_VALUE dynamic relocation.
412 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
413 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
414 (elf32_frv_always_size_sections): Don't store pointer to
415 __stacksize symbol in sec_info.
416 (elf32_frv_modify_segment_map): Look it up here.
417 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
418 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
419 of the lazy PLT entry, not only its offset, as the low word of a
420 function descriptor.
421 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
422 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
423 if a hash table entry already exists but is not a definition.
424 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
425 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
426 (_frv_add_rofixup): Don't inline.
427 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
428 for undefweak symbols.
429 (elf32_frv_relocate_section): Avoid crash while computing
430 relocation when linking with shared library. Only emit rofixups
431 and dynamic relocations for alloc&load sections. Mark binaries
432 with inter-segment relocations for relocation as a unit.
433 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
434 (DEFAULT_STACK_SIZE): New.
435 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
436 emit rofixups or dynamic relocs when linking dynamic non-PIE
437 executables.
438 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
439 shared libs too. Reserve the last entry for the GOT pointer.
440 (elf32_frv_finish_dynamic_sections): Emit it.
441 (elf32_frv_always_size_sections): New.
442 (elf32_frv_modify_segment_map): New.
443 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
444 sections.
445 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
446 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
447 (elf_backend_always_size_sections): New.
448 (elf_backend_modify_segment_map): New.
449 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
450 * config.bfd: Added frv-*-*linux*.
451 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
452 ABS section, instead of crashing.
453 (elf32_frv_relocate_section): Don't crash before warning about
454 different segments in non-PIC relocation.
455 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
456 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
457 relocs to undefweak symbols.
458 (elf32_frv_relocate_section): Ditto for undefined symbols.
459 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
460 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
461 gotfixup section was created.
462 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
463 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
464 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
465 complain_overflow_signed.
466 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
467 have not been allocated.
468 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
469 privfd only if dynamic sections were created.
470 (elf32_frv_relocate_section): Compute gprel_segment, and use it
471 for GPREL relocs. When linking relocatable FDPIC executables,
472 emit warnings for relocations that would be illegal on PIE or
473 shared libraries. Emit rofixup for R_FRV_32 only if input object
474 is not FDPIC.
475 (_frv_create_got_section): Define _gp symbol in the rofixup
476 section.
477 (elf32_frv_finish_dynamic_sections): If rofixups needed but
478 dynamic sections missing, error out requesting -melf32frvfd.
479 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
480 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
481 computation of addends from section and global or local symbol
482 value. Change return type to bfd_boolean, and return a failure if
483 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
484 nonzero addend is required.
485 (elf32_frv_relocate_section): Likewise. Print error for
486 unsupported nonzero addends.
487 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
488 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
489 force everything local.
490 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
491 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
492 (frv_gotfixup_section): New.
493 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
494 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
495 and relocsfdv.
496 (_frv_add_rofixup): New.
497 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
498 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
499 improve some ugly conditions.
500 (elf32_frv_relocate_section): Likewise. Reject inter-segment
501 relocations in fdpic.
502 (_frv_create_got_section): Create .rofixup.got section.
503 (struct _frv_dynamic_got_info): Added fixups.
504 (_frv_count_got_plt_entries): Account in-GOT relocations into
505 relocs32, relocsfd and relocsfdv. Account them into relocs or
506 fixups, as appropriate.
507 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
508 sizing of gotrel.
509 (elf32_frv_finish_dynamic_sections): Verify that the right number
510 of relocations and fixups was generated.
511 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
512 relocsfdv.
513 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
514 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
515 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
516 descriptor of a (formerly-)global symbol is local.
517 (struct frv_pic_relocs_info): Adjust comments.
518 (_frv_emit_got_relocs_plt_entries): Adjust.
519 (elf32_frv_relocate_section): Likewise.
520 (_frv_count_got_plt_entries): Likewise.
521 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
522 symbol's value to addend in the common preamble. Decay dynamic
523 symbols to section+offset if they bind or call locally, for GOT
524 and FUNCDESC_VALUE, respectively.
525 (elf32_frv_relocate_section): Likewise.
526 (elf32_frv_check_relocs): Don't register as dynamic symbols of
527 internal or hidden visibility.
528 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
529 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
530 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
531 (elf32_frv_relocate_section): Pass relocation addend in. Use
532 original relocation addend to look up the got relocs/plt entries
533 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
534 processing relocations that reference .scommon symbols.
535 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
536 Introduce support for dynamic linking.
537 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
538 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
539 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
540 (frv_reloc_type_lookup): Return REL howtos for executables and
541 dynamic libraries.
542 (frv_info_to_howto_rel): New.
543 (struct frv_elf_link_hash_table): New.
544 (frv_hash_table, frv_got_section, frv_gotrel_section,
545 frv_plt_section, frv_pltrel_section, frv_relocs_info,
546 frv_got_initial_offset, frv_plt_initial_offset): New macros.
547 (frv_elf_link_hash_table_create): New.
548 (struct frv_pic_relocs_info): New.
549 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
550 (frv_pic_relocs_info_find): New.
551 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
552 New.
553 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
554 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
555 (_frv_emit_got_relocs_plt_entries): New.
556 (elf32_frv_relocate_section): Add support for dynamic linking.
557 Handle new relocations.
558 (_frv_create_got_section): New.
559 (elf32_frv_create_dynamic_sections): New.
560 (ELF_DYNAMIC_INTERPRETER): New.
561 (struct _frv_dynamic_got_info): New.
562 (_frv_count_got_plt_entries): New.
563 (struct _frv_dynamic_got_plt_info): New.
564 (_frv_compute_got_alloc_data): New.
565 (_frv_get_got_entry, _frv_get_fd_entry): New.
566 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
567 (_frv_resolve_final_relocs_info): New.
568 (elf32_frv_size_dynamic_sections): New.
569 (elf32_frv_finish_dynamic_sections): New.
570 (elf32_frv_adjust_dynamic_symbol): New.
571 (elf32_frv_finish_dynamic_symbol): New.
572 (elf32_frv_check_relocs): Handle new relocs. Explain how the
573 whole thing works.
574 (elf_info_to_howto_rel): Define.
575 (bfd_elf32_bfd_link_hash_table_create): Define.
576 (elf_backend_create_dynamic_sections): Define.
577 (elf_backend_adjust_dynamic_symbol): Define.
578 (elf_backend_size_dynamic_sections): Define.
579 (elf_backend_finish_dynamic_symbol): Define.
580 (elf_backend_finish_dynamic_sections): Define.
581 (elf_backend_want_got_sym): Define.
582 (elf_backend_got_header_size): Define.
583 (elf_backend_want_got_plt): Define.
584 (elf_backend_plt_readonly): Define.
585 (elf_backend_want_plt_sym): Define.
586 (elf_backend_plt_header_size): Define.
587 (elf_backend_may_use_rel_p): Define.
588 (elf_backend_may_use_rela_p): Define.
589 (elf_backend_default_use_rela_p): Define.
590 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
591 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
592 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
593 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
594 (frv_reloc_map): Map the corresponding BFD relocs to them.
595 (frv_reloc_type_lookup): ... and back to BFD relocs.
596 * reloc.c: New relocs.
597 * bfd-in2.h, libbfd.h: Rebuilt.
598 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
599 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
600 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
601 R_FRV_FUNCDESC_GOTLO): New.
602 (frv_reloc_map): Map the corresponding BFD relocs to them.
603 (frv_reloc_type_lookup): ... and back to BFD relocs.
604 * reloc.c: New relocs.
605 * bfd-in2.h, libbfd.h: Rebuilt.
606
607 2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
608
609 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
610 targets to support pages of up to 64kB.
611 (elf32_bed): Redefine to get a separate backend data structure for
612 traditional targets.
613 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
614 targets to support pages of up to 64kB.
615 (elf64_bed): Redefine to get a separate backend data structure for
616 traditional targets.
617 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
618 targets to support pages of up to 64kB.
619 (elf32_bed): Redefine to get a separate backend data structure for
620 traditional targets.
621
622 2004-01-04 Mark Kettenis <kettenis@gnu.org>
623
624 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
625
626 2004-01-02 Mark Kettenis <kettenis@gnu.org>
627
628 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
629 (elf_i386_grok_psinfo): Likewise.
630
631 2004-01-02 Bernardo Innocenti <bernie@develer.com>
632
633 * config.bfd: Add m68k-uClinux target.
634
635 2004-01-01 Grant Edwards <grante@visi.com>
636
637 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
638 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
639 (elf32_h8_gc_sweep_hook): New function.
640 (elf_backend_gc_mark_hook): Define.
641 (elf_backend_gc_sweep_hook): Define.
642 (elf_backend_can_gc_sections): Define.
643
644 For older changes see ChangeLog-0203
645 \f
646 Local Variables:
647 mode: change-log
648 left-margin: 8
649 fill-column: 74
650 version-control: never
651 End: