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