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