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