]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
2004-03-02 H.J. Lu <hongjiu.lu@intel.com>
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3b712a1a
AO
12004-03-02 Alexandre Oliva <aoliva@redhat.com>
2
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.
19
676a64f4
RS
202004-03-01 Richard Sandiford <rsandifo@redhat.com>
21
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.
30
0ad989f9
L
312004-02-28 H.J. Lu <hongjiu.lu@intel.com>
32
33 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
34
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.
40
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.
45
ec3391e7
AO
462004-02-27 Alexandre Oliva <aoliva@redhat.com>
47
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.
70
e6deed0a
AO
712004-02-27 Alexandre Oliva <aoliva@redhat.com>
72
73 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
74 complain_on_overflow to signed.
75
b60d7a1a
L
762004-02-27 H.J. Lu <hongjiu.lu@intel.com>
77
78 * elflink.h (sort_symbol): New.
79 (elf_link_add_object_symbols): Use a sorted symbol array for
80 weakdef.
81
1c3ff0f2
MS
822004-02-27 Jakub Jelinek <jakub@redhat.com>
83
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.
90
de9811af
L
912004-02-26 H.J. Lu <hongjiu.lu@intel.com>
92
93 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
94 count_dyn_reloc.
95
ac33696c
L
962004-02-25 H.J. Lu <hongjiu.lu@intel.com>
97
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.
104
072c8903
AO
1052004-02-24 Alexandre Oliva <aoliva@redhat.com>
106
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.
112
aca305d9
NC
1132004-02-23 Mark Kettenis <kettenis@gnu.org>
114
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.
120
646411fb
JJ
1212004-02-23 Jakub Jelinek <jakub@redhat.com>
122
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.
125
1de1a317
L
1262004-02-21 H.J. Lu <hongjiu.lu@intel.com>
127
128 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
129 symbols with non-default visibility.
130
3c9d0484
DS
1312004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
132
133 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
134 IMAGE_SCN_MEM_WRITE on known sections only.
135
a876ecf9
JJ
1362004-02-20 Jakub Jelinek <jakub@redhat.com>
137
138 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
139 symbols used in PIE relocs.
140
a8a6d7ce
JJ
1412004-02-19 Jakub Jelinek <jakub@redhat.com>
142
143 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
144 .plt sh_entsize.
145
d080fcd2
DJ
1462004-02-18 Daniel Jacobowitz <drow@mvista.com>
147
148 * configure.in: Update version to 2.15.90.
149 * configure: Regenerate.
150
d25aed71
RS
1512004-02-17 Daniel Jacobowitz <drow@mvista.com>
152 Richard Sandiford <rsandifo@redhat.com>
153
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.
160
d7ce59e3
AC
1612004-02-16 Andrew Cagney <cagney@redhat.com>
162
163 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
164 @bfd_file_ptr@.
165 * bfd-in2.h: Re-generate.
166
ca0b7686
AC
1672004-02-14 Andrew Cagney <cagney@redhat.com>
168
169 * configure.host (HDEFINES): When hppa*-*-hpux*, define
170 _LARGEFILE64_SOURCE.
171
340b6d91
AC
1722004-02-13 Andrew Cagney <cagney@redhat.com>
173
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.
178
1012372a
AC
1792004-02-11 Andrew Cagney <cagney@redhat.com>
180
7c192733
AC
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.
197
1012372a
AC
198 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
199 fseeko and fseeko64. Determine bfd_file_ptr.
200 * configure: Re-generate.
c1ea0c09 201 * config.in: Re-generate.
1012372a 202
3255318a
NC
2032004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
204
205 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
206 * elf32-h8300.c: Likewise.
207
0d5f9994
NC
2082004-02-09 Christian Vogel <vogelchr@vogel.cx>
209 Nick Clifton <nickc@redhat.com>
210
211 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
212 GOT entries with no associated GOT subsection.
213
174fd7f9
RS
2142004-02-09 Richard Sandiford <rsandifo@redhat.com>
215
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.
223
03609792
L
2242004-01-30 H.J. Lu <hongjiu.lu@intel.com>
225
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.
229
ea01195e
AO
2302004-01-30 Alexandre Oliva <aoliva@redhat.com>
231
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.
235
838e70c5
L
2362004-01-25 H.J. Lu <hongjiu.lu@intel.com>
237
238 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
239 relocations against dynamic symbols.
240
4f199be3
DJ
2412004-01-23 Daniel Jacobowitz <drow@mvista.com>
242
243 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
244 change.
245
28d39d1a
NC
2462004-01-21 Tom Rix <tcrix@worldnet.att.net>
247
248 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
249 * bfd-in2.h, libbfd.h: Rebuilt.
250
66bed356
DS
2512004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
252
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.
256
7e89635a
KH
2572004-01-19 Kazu Hirata <kazu@cs.umass.edu>
258
259 * coff-h8300.c: Add and adjust comments about relaxation.
260 * elf32-h8300.c: Likewise.
261
e804e836
KH
2622004-01-16 Kazu Hirata <kazu@cs.umass.edu>
263
264 * coff-h8300.c: Fix comment typos.
265 * elf32-h8300.c: Likewise.
266
630a7b0a
KH
2672004-01-16 Kazu Hirata <kazu@cs.umass.edu>
268
269 * coff-h8300.c: Add comments about relaxation.
270 * elf32-h8300.c: Likewise.
271
f8b73030
MR
2722004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
273
274 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
275 throughout.
276 * aclocal.m4: Regenerate.
277 * configure: Regenerate.
278
32159579
ILT
2792004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
280
281 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
282 mips_elf64_rtype_to_howto instead of using howto_table.
283
c84cd8ee
DJ
2842004-01-13 Daniel Jacobowitz <drow@mvista.com>
285
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.
290
680a3378
AM
2912004-01-13 Alan Modra <amodra@bigpond.net.au>
292
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.
296
faca21e5
NC
2972004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
298
299 Adds linker relaxation support for bit manipulation insns like
680a3378 300 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
faca21e5 301 bst, btst, bxor.
680a3378 302 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5 303 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
680a3378 304 * coff-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5
NC
305 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
306
818a27ac
AM
3072004-01-12 Alan Modra <amodra@bigpond.net.au>
308
309 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
310
96ef1419
KH
3112004-01-11 Kazu Hirata <kazu@cs.umass.edu>
312
313 * elf32-h8300.c: Fix formatting.
314
babfd660
KH
3152004-01-11 Kazu Hirata <kazu@cs.umass.edu>
316
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.
321
7359ea65
DJ
3222004-01-09 Daniel Jacobowitz <drow@mvista.com>
323
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.
336
44e88952
NC
3372004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
338
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.
348
1e7fef1d
NC
3492004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
350
351 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
352 are not partial_inplace during a relocatable link.
353
4f075348
KH
3542004-01-08 Kazu Hirata <kazu@cs.umass.edu>
355
babfd660 356 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4f075348
KH
357 if no dynamic object is present. Declare r_symndx and h in an
358 inner scope.
359
de0d9f33
L
3602004-01-07 H.J. Lu <hongjiu.lu@intel.com>
361
362 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
363 trampoline if it is known out of range.
364
51532845
AO
3652004-01-06 Alexandre Oliva <aoliva@redhat.com>
366
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.
579
4301eeb1
MR
5802004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
581
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.
594
0647ed71
MK
5952004-01-04 Mark Kettenis <kettenis@gnu.org>
596
597 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
598
61adc1a4
NC
5992004-01-02 Mark Kettenis <kettenis@gnu.org>
600
601 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
602 (elf_i386_grok_psinfo): Likewise.
603
b50c15dc
NC
6042004-01-02 Bernardo Innocenti <bernie@develer.com>
605
606 * config.bfd: Add m68k-uClinux target.
607
2627de83
AM
6082004-01-01 Grant Edwards <grante@visi.com>
609
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.
616
c9e214e5 617For older changes see ChangeLog-0203
56882138
AM
618\f
619Local Variables:
620mode: change-log
621left-margin: 8
622fill-column: 74
623version-control: never
624End: