Fix garbage collection of common symbols
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2015-01-19 Alan Modra <amodra@gmail.com>
2
3 PR 17165
4 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
5 linker script assignments too.
6 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
7 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
8
9 2015-01-19 Alan Modra <amodra@gmail.com>
10
11 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
12 to allow return of first howto.
13 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
14 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
15 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
16 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
17 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
18 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
19 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
20 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
21 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
22 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
23 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
24 (spu_elf_reloc_type_lookup): Adjust to suit.
25
26 2015-01-19 Alan Modra <amodra@gmail.com>
27
28 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
29 (bfd_get_section_limit): ..here.
30 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
31 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
32 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
33 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
34 bfd_reloc_outofrange check.
35 * bfd-in2.h: Regenerate.
36
37 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
38 on zero size relocs.
39 * ecoff.c (ecoff_reloc_link_order): Likewise.
40 * elf32-nds32.c (nds32_relocate_contents): Likewise.
41 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
42
43 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
44 (_bfd_clear_contents): Likewise.
45 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
46 (mips_elf_perform_relocation): Likewise.
47
48 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
49 from malloc on zero size alloc.
50 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
51 * elflink.c (elf_reloc_link_order): Likewise.
52 * linker.c (_bfd_generic_reloc_link_order): Likewise.
53 * pdp11.c (aout_link_reloc_link_order): Likewise.
54 * xcofflink.c (xcoff_reloc_link_order): Likewise.
55
56 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
57 bitsize 0, and complain_overflow_dont.
58 * coff-sparc.c (coff_sparc_howto_table): Likewise.
59 * elf-hppa.h (elf_hppa_howto_table): Likewise.
60 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
61 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
62 * elf32-arc.c (elf_arc_howto_table): Likewise.
63 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
64 * elf32-avr.c (elf_avr_howto_table): Likewise.
65 * elf32-bfin.c (bfin_howto_table): Likewise.
66 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
67 * elf32-cris.c (cris_elf_howto_table): Likewise.
68 * elf32-crx.c (crx_elf_howto_table): Likewise.
69 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
70 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
71 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
72 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
73 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
74 * elf32-frv.c (elf32_frv_howto_table): Likewise.
75 * elf32-h8300.c (h8_elf_howto_table): Likewise.
76 * elf32-i370.c (i370_elf_howto_raw): Likewise.
77 * elf32-i386.c (elf_howto_table): Likewise.
78 * elf32-i860.c (elf32_i860_howto_table): Likewise.
79 * elf32-i960.c (elf32_i960_relocate): Likewise.
80 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
81 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
82 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
83 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
84 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
85 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
86 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
87 * elf32-m68k.c (howto_table): Likewise.
88 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
89 * elf32-mep.c (mep_elf_howto_table): Likewise.
90 * elf32-metag.c (elf_metag_howto_table): Likewise.
91 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
92 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
93 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
94 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
95 * elf32-mt.c (mt_elf_howto_table): Likewise.
96 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
97 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
98 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
99 * elf32-pj.c (pj_elf_howto_table): Likewise.
100 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
101 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
102 * elf32-rx.c (rx_elf_howto_table): Likewise.
103 * elf32-s390.c (elf_howto_table): Likewise.
104 * elf32-score.c (elf32_score_howto_table): Likewise.
105 * elf32-score7.c (elf32_score_howto_table): Likewise.
106 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
107 * elf32-spu.c (elf_howto_table): Likewise.
108 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
109 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
110 * elf32-v850.c (v850_elf_howto_table): Likewise.
111 * elf32-vax.c (howto_table): Likewise.
112 * elf32-visium.c (visium_elf_howto_table): Likewise.
113 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
114 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
115 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
116 * elf32-xtensa.c (elf_howto_table): Likewise.
117 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
118 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
119 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
120 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
121 * elf64-s390.c (elf_howto_table): Likewise.
122 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
123 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
124 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
125 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
126 (elfNN_aarch64_howto_none): Likewise.
127 * elfxx-ia64.c (ia64_howto_table): Likewise.
128 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
129 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
130 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
131
132 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
133
134 PR ld/17847
135 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
136 about -fPIC if the symbol is undefined when building executable.
137
138 2015-01-15 Nick Clifton <nickc@redhat.com>
139
140 PR binutils/17512
141 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
142 error message. Never return an invalid howto pointer.
143 * elf32-cr16.c (cr16_info_to_howto): Likewise.
144 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
145 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
146 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
147 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
148 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
149 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
150 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
151 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
152 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
153 * elf32-vax.c (rtype_to_howto): Likewise.
154 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
155 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
156 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
157 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
158 (sh_elf_reloc): Check that the reloc is in range.
159 * reloc.c (bfd_perform_relocation): Check that the section is big
160 enough for the entire reloc.
161 (bfd_generic_get_relocated_section_contents): Report unexpected
162 return values from perform_reloc.
163
164 2015-01-15 Nick Clifton <nickc@redhat.com>
165
166 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
167 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
168 relaxation.
169
170 2015-01-15 Alan Modra <amodra@gmail.com>
171
172 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
173 any output section matching a linker created dynobj section.
174
175 2015-01-15 Alan Modra <amodra@gmail.com>
176
177 PR 17842
178 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
179 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
180 Don't assign symtab file position unless symbols will be output.
181 Merge blocks with condition in common. Don't call
182 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
183 unless other symbols are output. Move assignment of symtab_shndx
184 file position. Localize variable.
185
186 2015-01-14 Jiong Wang <jiong.wang@arm.com>
187
188 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
189 trying to defer them to runtime.
190
191 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
192
193 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
194 to check if a symbol should be bound symbolically.
195
196 2015-01-13 Jiong Wang <jiong.wang@arm.com>
197
198 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
199 for TLSLE_MOVW_TPREL_G2.
200
201 2015-01-13 Jiong Wang <jiong.wang@arm.com>
202
203 PR ld/17415
204 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
205 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
206 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
207 bit mask.
208
209 2015-01-12 Terry Guo <terry.guo@arm.com>
210
211 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
212 function.
213 (_bfd_elf_gc_mark_extra_sections): Use it.
214
215 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
216
217 PR ld/17827
218 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
219 only discard space for pc-relative relocs symbols which turn
220 out to need copy relocs.
221
222 2015-01-09 Nick Clifton <nickc@redhat.com>
223
224 * tekhex.c (getvalue): Fix thinko in test for correct extraction
225 of value.
226 (getsym): Return false if there was not enough data to extract the
227 symbol.
228
229 2015-01-09 Anthony Green <green@moxielogic.com>
230
231 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
232
233 2015-01-08 Nick Clifton <nickc@redhat.com>
234
235 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
236 16-bit absolute BR instructions to 10-bit pc-relative JMP
237 instructions.
238
239 2015-01-08 Nick Clifton <nickc@redhat.com>
240
241 PR binutils/17512
242 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
243 to load the line table.
244 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
245 maxpagesize of 1.
246 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
247 the Data Directory Size is too large.
248
249 2015-01-06 H.J. Lu <hongjiu.lu@intel.com>
250
251 PR binutils/17512
252 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
253 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
254
255 2015-01-06 Nick Clifton <nickc@redhat.com>
256
257 PR binutils/17512
258 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
259 string table.
260
261 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
262 (bfd_perform_relocation): Include the size of the reloc in the
263 test for an out of range relocation.
264 (bfd_generic_get_relocated_section_contents): Remove reloc range
265 test.
266
267 * coff-i860.c (CALC_ADDEND): Always set an addend value.
268 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
269 avoid reading off the end of the buffer.
270 (getsym): Likewise.
271 (first_phase): Likewise.
272 (pass_over): Pass an end pointer to the invoked function.
273
274 2015-01-05 H.J. Lu <hongjiu.lu@intel.com>
275
276 PR binutils/17512
277 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
278 input.
279 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
280
281 2015-01-05 Nick Clifton <nickc@redhat.com>
282
283 PR binutils/17512
284 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
285 is at least big enough for the header to be read.
286 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
287 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
288 (bfd_mach_o_read_command): Prevetn duplicate error messages about
289 unrecognized commands.
290 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
291 when indexing into the string table.
292
293 2015-01-01 Alan Modra <amodra@gmail.com>
294
295 Update year range in copyright notice of all files.
296
297 For older changes see ChangeLog-2014
298 \f
299 Copyright (C) 2015 Free Software Foundation, Inc.
300
301 Copying and distribution of this file, with or without modification,
302 are permitted in any medium without royalty provided the copyright
303 notice and this notice are preserved.
304
305 Local Variables:
306 mode: change-log
307 left-margin: 8
308 fill-column: 74
309 version-control: never
310 End:
This page took 0.037952 seconds and 5 git commands to generate.