* elf32-ppc.c (is_pic_glink_stub): New function.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
7382d32a
AM
12008-07-02 Alan Modra <amodra@bigpond.net.au>
2
3 * elf32-ppc.c (is_pic_glink_stub): New function.
4 (ppc_elf_get_synthetic_symtab): Don't generate symbols when
5 multiple shared/pie stubs per plt entry.
6
cb53bf42
RS
72008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
8
9 * elf.c (_bfd_elf_get_synthetic_symtab): Increment p by
10 bed->s->int_rels_per_ext_rel.
11
6ba2a415
RS
122008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
13
14 * syms.c (BSF_SYNTHETIC): New flag.
15 * elf.c (_bfd_elf_get_synthetic_symtab): Set it.
16 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.
17 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
18 * bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour
19 for synthetic symbols.
20 * bfd-in2.h: Regenerate.
21
3dccd7b7
DJ
222008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
23
24 * elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
25 Expand comments.
26 (arm_map_one_stub): Use | 1 when setting the low bit.
27
f57718b4
AS
282008-06-29 Andreas Schwab <schwab@suse.de>
29
30 * elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
31 addend on _GLOBAL_OFFSET_TABLE_.
32
7413f23f
DJ
332008-06-24 Daniel Jacobowitz <dan@codesourcery.com>
34
35 * elf32-arm.c (STUB_ENTRY_NAME): Define.
36 (arm_thumb_thumb_long_branch_stub): Use bx instead of b.n.
37 (arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of
38 R_ARM_ABS32.
39 (struct elf32_arm_stub_hash_entry): Add output_name.
40 (arm_build_one_stub): Move offsets into the offset argument
41 of _bfd_final_link_relocate. Correct offset for
42 arm_thumb_arm_v4t_stub_long_branch.
43 (elf32_arm_size_stubs): Set stub_entry->output_name.
44 (elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym.
45 Update all callers.
46 (elf32_arm_output_stub_sym): New.
47 (arm_map_one_stub): Correct formatting. Use elf32_arm_output_stub_sym.
48
7c39fb20
AM
492008-06-20 Alan Modra <amodra@bigpond.net.au>
50
51 * elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for
52 non-branch insns.
53
f3c29e8a
AM
542008-06-20 Alan Modra <amodra@bigpond.net.au>
55
56 * elf32-spu.c (build_stub): Allow wraparound on stub branches.
57 (allocate_spuear_stubs, build_spuear_stubs): Return value from
58 count_stub/build_stub.
59 (spu_elf_build_stubs): Correct location of stub reloc error message.
60
de73c611
SR
612008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
62
63 * elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD.
64
7a283e07
RW
652008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66
67 * configure: Regenerate.
68
99302af9
AM
692008-06-17 Alan Modra <amodra@bigpond.net.au>
70
71 * elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space.
72 (spu_elf_check_vma): Add extra_stack_space param, copy to htab.
73 (spu_elf_auto_overlay): Use it.
74 (RECURSE_UNMARK): Define as 0.
75 (unmark_overlay_section): Heed RECURSE_UNMARK.
76 * elf32-spu.h (spu_elf_check_vma): Update prototype.
77
ff7eeb89
DD
782008-06-12 DJ Delorie <dj@redhat.com>
79
80 * elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD.
81
c13bb2ea
PB
822008-06-09 Paul Brook <paul@codesourcery.com>
83
84 bfd/
85 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared
86 libraries.
87
f4ac8484
DJ
882008-06-09 Christophe Lyon <christophe.lyon@st.com>
89
90 * elf32-arm.c (arm_stub_is_thumb): Define.
91 (elf32_arm_final_link_relocate): Handle near mode switching stubs.
92
6a267715
AM
932008-06-07 Alan Modra <amodra@bigpond.net.au>
94
95 * elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp
96 to stack calculation.
97
23684067
PB
982008-06-06 Paul Brook <paul@codesourcery.com>
99
100 bfd/
101 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
102
97407faf
AM
1032008-06-06 Alan Modra <amodra@bigpond.net.au>
104
105 * elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
106 file names be unique. Specify archive:path in overlay script.
107
7cfbafbc
AM
1082008-06-05 Alan Modra <amodra@bigpond.net.au>
109
110 PR ld/6590
111 * elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets.
112
0f0a5e58
AM
1132008-06-04 Alan Modra <amodra@bigpond.net.au>
114
115 * elf.c (ignore_section_sym): Don't test section sym value here.
116 (elf_map_symbols): Instead check zero value here as was done prior
117 to 2006-05-26 change.
118
696b7ad2
NC
1192008-06-04 Nick Clifton <nickc@redhat.com>
120
121 PR ld/6019
122 * elf32-avr.c (elf32_avr_relax_section): Handle the case where
123 there are no local symbols.
124
1f27ab8d
AM
1252008-06-04 Alan Modra <amodra@bigpond.net.au>
126
127 * elf32-spu.c (get_sym_h): Don't attempt to read global syms.
128 (process_stubs): Likewise.
129 (discover_functions): Don't used cached symbols.
130 (maybe_insert_function): Correct condition under which function
131 array is realloc'd.
132 (mark_functions_via_relocs): Delete unused variable.
133
adfef0bd
NC
1342008-05-30 Frediano Ziglio <frediano.ziglio@vodafone.com>
135 Nick Clifton <nickc@redhat.com>
136
137 PR ld/6511
138 * elf64-hppa.c (allocate_global_data_opd): Default to using the
139 dynamic symbol table for local function names in shared libraries.
140
11701589
JK
1412008-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
142
143 * elf.c (assign_file_positions_for_load_sections): Adjust pre-section
144 gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses.
145
124b52c6
AM
1462008-05-28 Alan Modra <amodra@bigpond.net.au>
147
148 * elf32-spu.c (spu_elf_object_p): New function.
149 (elf_backend_object_p): Define.
150 (build_stub): Correct second word of 8 byte overlay stubs.
151 (spu_elf_relocate_section): Formatting.
152
bb864ac1
CES
1532008-05-24 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
154
155 * elf.c (elfcore_write_register_note): New function.
156 * elf-bfd.h (elfcore_write_register_note): New prototype.
157
da5938a2
NC
1582008-05-22 Christophe Lyon <christophe.lyon@st.com>
159
160 * elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols.
161 (elf32_arm_stub_add_mapping_symbol): Remove.
162 (elf32_arm_add_stub): Don't generate mapping symbols. Change
163 prototype.
164 (elf32_arm_size_stubs): Use new elf32_arm_add_stub
165 prototype. Don't generate thumb to arm glue for calls.
166 (arm_map_one_stub): Define.
167 (elf32_arm_output_arch_local_syms): Generate mapping symbols for
168 long calls stubs.
169
7fb9f789
NC
1702008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com>
171
172 Add multi-GOT support for m68k.
173 * elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
174 glist): New fields.
175 (struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
176 struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
177 struct elf_m68k_multi_got): New data structures.
178 (struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
179 allow_multigot_p, multi_got_): New fields.
180 (elf_m68k_multi_got): New macro.
181 (elf_m68k_link_hash_newfunc): Initialize new fields of
182 struct elf_m68k_link_hash_entry.
183 (elf_m68k_link_hash_table_create): Initialize new fields of
184 struct elf_m68k_link_hash_table.
185 (elf_m68k_link_hash_table_free): New static function implementing hook.
186 (elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
187 static functions for struct elf_m68k_got.
188 (elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
189 elf_m68k_got_entry_eq): New static functions for
190 struct elf_m68k_got_entry.
191 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
192 ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
193 (enum elf_m68k_get_entry_howto): New enum.
194 (elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
195 elf_m68k_remove_got_entry_type): New static functions for
196 struct elf_m68k_got_entry.
197 (elf_m68k_add_entry_to_got): New static function.
198 (elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
199 elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
200 functions for struct elf_m68k_bfd2got_entry.
201 (struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
202 elf_m68k_can_merge_gots): New traversal.
203 (struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
204 elf_m68k_merge_gots): Ditto.
205 (struct elf_m68k_finalize_got_offsets_arg,
206 elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
207 (struct elf_m68k_partition_multi_got_arg,
208 elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
209 elf_m68k_partition_multi_got): Ditto.
210 (elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
211 functions.
212 (elf_m68k_copy_indirect_symbol): New static function implementing
213 a hook.
214 (elf_m68k_check_relocs): Update to add entries to multi-GOT.
215 (elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
216 (elf_m68k_always_size_sections): Assign BFDs to GOTs.
217 (elf_m68k_relocate_section): Update to properly handle GOT relocations.
218 (elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
219 of a global symbol.
220 (bfd_elf_m68k_set_target_options): New function.
221 (bfd_elf32_bfd_link_hash_table_free): Define hook.
222 (bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
223 to skip generic calculation of GOT offsets.
224 (elf_backend_copy_indirect_symbol): Define hook.
225 * bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
226 * bfd-in2.h: Regenerate.
227