aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
blob: 584dd7f3447c97c723323173d079fd859906cdb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
2020-02-07  Nick Clifton  <nickc@redhat.com>

	PR 23932
	* elf.c (rewrite_elf_program_header): Do not complain if no
	sections are mapped to a segment.

2020-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/25490
	* elflink.c (_bfd_elf_gc_mark_extra_sections): Issue an error
	for garbage collection on __patchable_function_entries section
	without linked-to section.

2020-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/25381
	* bfd-in2.h: Regenerated.
	* elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
	on section if gc_mark of any of its linked-to sections is set
	and don't set gc_mark again.
	* section.c (asection): Add linked_to_symbol_name to map_head
	union.

2020-02-06  Maciej W. Rozycki  <macro@wdc.com>

	* elf32-v850.c (v850_elf_relax_section): Fix the index used for
	reporting an unrecognized instruction with R_V850_LONGJUMP.

2020-02-05  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.

2020-02-04  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_relocate_section): After applying
	R_PPC_VLE_ADDR20, goto copy_reloc.

2020-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd-in2.h: Regenerated.
	* section.c (SEC_ASSEMBLER_SECTION_ID): Fix a typo in comments.

2020-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/25380
	* bfd-in2.h: Regenerated.
	* ecoff.c (bfd_debug_section): Add section_id.
	* section.c (bfd_section): Add section_id.
	(SEC_ASSEMBLER_SECTION_ID): New.
	(BFD_FAKE_SECTION): Add section_id.

2020-02-01  Nick Clifton  <nickc@redhat.com>

	* config.bfd: Move the c30-aout and tic30-aout targets onto the
	obsolete list.

2020-01-31  Sandra Loosemore  <sandra@codesourcery.com>

	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): DW_EH_PE_datarel
	encodings are relative to the GOT on nios2, too.

2020-01-31  Alan Modra  <amodra@gmail.com>

	* Makefile.am (elf32-target.h, elf64-target.h): Don't use a temp
	file.  Use $< and $@ in rules.
	(elf32-aarch64.c, elf64-aarch64.c): Likewise.
	(elf32-ia64.c, elf64-ia64.c): Likewise.
	(elf32-riscv.c, elf64-riscv.c): Likewise.
	(peigen.c, pepigen.c, pex64igen.c): Likewise.
	(elf32-aarch64.c, elf64-aarch64.c): Don't emit $srcdir on #line.
	(elf32-riscv.c, elf64-riscv.c): Likewise, and use $(SED).
	(elf32-ia64.c, elf64-ia64.c): Do emit #line.
	(peigen.c, pepigen.c, pex64igen.c): Likewise.
	* Makefile.in: Regenerate.

2020-01-31  Alan Modra  <amodra@gmail.com>

	PR 4110
	* elf.c (setup_group): Don't clear entire section contents,
	just the padding after group flags.  Release alloc'd memory
	after a seek or read failure.

2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>

	* peXXigen.c (pe_is_repro): New function.
	(_bfd_XX_print_private_bfd_data_common): Note timestamp is
	actually a build hash if PE_IMAGE_DEBUG_TYPE_REPRO is present.

2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>

	* peXXigen.c (debug_type_names): Add names for new debug data type
	values.

2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>

	* peXXigen.c (pe_print_debugdata): Fix the iteration variable for
	inner loop.  Fix a memory leak.

2020-01-30  Alan Modra  <amodra@gmail.com>

	* coffgen.c (coff_real_object_p): Don't clear obj_coff_keep_syms
	or obj_coff_keep_strings here.
	(coff_get_normalized_symtab): Free external syms directly.
	* xcofflink.c (xcoff_link_input_bfd): Restore obj_coff_keep_syms
	on error exit path.

2020-01-27  Jim Wilson  <jimw@sifive.com>

	* cpu-riscv.c (riscv_scan): New.
	(N): Change bfd_default_scan to riscv_scan.

2020-01-27  Andreas Schwab  <schwab@suse.de>

	* Makefile.am (ALL_MACHINES): Remove cpu-plugin.lo.
	(ALL_MACHINES_CFILES): Remove cpu-plugin.c.
	* Makefile.in: Regenerate.
	* cpu-plugin.c: Remove.
	* archures.c (enum bfd_architecture): Remove bfd_arch_plugin.
	(bfd_plugin_arch): Remove declaration.
	* bfd-in2.h: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

2020-01-27  H.J. Lu  <hongjiu.lu@intel.com>
	    Alan Modra  <amodra@gmail.com>

	PR ld/25458
	* elflink.c (_bfd_elf_gc_mark_rsec): Mark all weak aliases.

2020-01-24  Jim Wilson  <jimw@sifive.com>

	* elfxx-riscv.c (riscv_get_prefix_class): Format s case like others.
	(riscv_parse_prefixed_ext): Fix s extension comment and reword to
	avoid over long line.

2020-01-24  Nick Clifton  <nickc@redhat.com>

	PR 25447
	* coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
	syms and keep strings flags as these may have been set in order to
	prevent a bogus call to free.

2020-01-23  Nick Clifton  <nickc@redhat.com>

	* po/fr.po: Updated French translation.

2020-01-23  Alan Modra  <amodra@gmail.com>

	PR 25444
	* elf.c (assign_file_positions_for_load_sections): Avoid divide
	by zero when p_align is zero.

2020-01-22  Maxim Blinov  <maxim.blinov@embecosm.com>

	* bfd/elfnn-riscv.c (riscv_skip_prefix): New.
	(riscv_prefix_cmp): Likewise.
	(riscv_non_std_ext_p): Deleted.
	(riscv_std_sv_ext_p): Likewise.
	(riscv_non_std_sv_ext_p): Likewise.
	(riscv_merge_non_std_and_sv_ext): Rename to...
	(riscv_merge_multi_letter_ext): and modified to use riscv_prefix_cmp.
	(riscv_merge_arch_attr_info): Replace 3 calls to
	riscv_merge_non_std_and_sv_ext with single call to
	riscv_merge_multi_letter_ext.
	* bfd/elfxx-riscv.c (riscv_parse_std_ext): Break if we
	encounter a 'z' prefix.
	(riscv_get_prefix_class): New function, return prefix class based
	on first few characters of input string.
	(riscv_parse_config): New structure to factor out minor differences
	in extension class parsing behaviour.
	(riscv_parse_sv_or_non_std_ext): Rename to...
	(riscv_parse_prefixed_ext): and parameterise with
	riscv_parse_config.
	(riscv_std_z_ext_strtab, riscv_std_s_ext_strtab): New.
	(riscv_multi_letter_ext_valid_p): New.
	(riscv_ext_x_valid_p, riscv_ext_z_valid_p, riscv_ext_s_valid_p): New.
	(riscv_parse_subset): Delegate all non-single-letter parsing work
	to riscv_parse_prefixed_ext.
	* bfd/elfxx-riscv.h (riscv_isa_ext_class): New type.
	(riscv_get_prefix_class): Declare.

2020-01-22  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc_link_hash_table): Add tga_group.
	(ppc64_elf_archive_symbol_lookup): Extract __tls_get_addr_opt for
	__tls_get_addr_desc.
	(ppc64_elf_size_stubs): Add section for linker generated
	__tls_get_addr_desc wrapper function.  Loop at least once if
	generating this function.
	(emit_tga_desc, emit_tga_desc_eh_frame): New functions.
	(ppc64_elf_build_stubs): Generate __tls_get_addr_desc.

2020-01-22  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
	* elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
	tga_desc_fd.
	(is_tls_get_addr): Match tga_desc and tga_desc_df too.
	(STDU_R1_0R1, ADDI_R1_R1): Define.
	(tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
	(ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd.  Indirect
	tga_desc_fd to opt_fd, and tga_desc to opt.  Set
	no_tls_get_addr_regsave.
	(branch_reloc_hash_match): Add hash3 and hash4.
	(ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
	(ppc64_elf_size_dynamic_sections): Likewise.
	(ppc64_elf_relocate_section): Likewise.
	(plt_stub_size, build_plt_stub): Likewise.  Size regsave
	__tls_get_addr stub.
	(build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
	eh_frame.
	(ppc_size_one_stub): Handle tga_desc_fd and tga_desc too.  Size
	eh_frame for regsave __tls_get_addr.

2020-01-22  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
	which __tls_get_addr calls will be eliminated.

2020-01-20  Nick Clifton  <nickc@redhat.com>

	* po/pt.po: Updates Portuguese translation.
	* po/ru.po: Updated Russian translation.
	* po/uk.po: Updated Ukranian translation.

2020-01-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/25416
	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
	"rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
	X32 mode.
	(elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
	transition, relax "rex leal x@tlsdesc(%rip), %reg" to
	"rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
	"rex leal x@tlsdesc(%rip), %reg" to
	"rex movl x@gottpoff(%rip), %eax".  For both transitions, relax
	"call *(%eax)" to "nopl (%rax)".

2020-01-20  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (LD_R11_0R3, CMPDI_R11_0, STD_R11_0R1, LD_R11_0R1),
	(MTLR_R11): Don't define.
	(LD_R0_0R3, CMPDI_R0_0): Define.
	(build_tls_get_addr_stub): Don't use r11 in stub.

2020-01-20  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc_elf_hash_entry): New function, use throughout file.
	(defined_sym_val, is_tls_get_addr): Likewise.

2020-01-18  Nick Clifton  <nickc@redhat.com>

	* version.m4 (BFD_VERSION): Set to 2.34.50.
	* configure: Regenerate.
	* po/bfd.pot: Regenerate.

2020-01-18  Nick Clifton  <nickc@redhat.com>

	Binutils 2.34 branch created.

2020-01-17  Christian Biesinger  <cbiesinger@google.com>

	* coff-arm.c: Fix spelling error (seperate).
	* elfxx-riscv.c (riscv_parse_sv_or_non_std_ext): Fix spelling
	error (seperate).
	* sysdep.h (strnlen): Fix spelling error (seperate).

2020-01-15  Lars Brinkhoff  <lars@nocrew.org>

	PR 20694
	* pdp11.c (TARGET_PAGE_SIZE): Set to 8192.

2020-01-15  Alan Modra  <amodra@gmail.com>

	PR 25384
	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
	(ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
	of function symbols unless dot symbols are present.  Do warn
	whenever one is created, regardles of whether a PLT entry is
	also emitted for the function symbol.

2020-01-14  Alan Modra  <amodra@gmail.com>

	* som.c (som_bfd_count_ar_symbols): Error when file position
	of symbols on chains is not strictly increasing.

2020-01-14  Alan Modra  <amodra@gmail.com>

	* vms.h (VMS_DEBUG): Define as 0.
	* vms-alpha.c (image_write): Move debug output after bounds check.
	Tidy bounds check.
	(_bfd_vms_slurp_eihd): Warning fix.
	(_bfd_vms_slurp_etir): Init variables to avoid bogus warnings.

2020-01-13  Alan Modra  <amodra@gmail.com>

	* vms-alpha.c (_bfd_vms_slurp_egsd): Ensure minimum size even
	for "ignored" records.

2020-01-13  Alan Modra  <amodra@gmail.com>

	* wasm-module.c (wasm_scan_name_function_section): Formatting.
	Delete asect name check.  Move asect NULL check to wasm_object_p.
	Correct bounds check of sizes against end.  Replace uses of
	bfd_zalloc with bfd_alloc, zeroing only necessary bytes.  Use
	just one bfd_release.
	(wasm_scan): Don't use malloc/strdup for section names,
	bfd_alloc instead.  Simplify code prefixing section name.
	Formatting.  Don't attempt to free memory here..
	(wasm_object_p): ..do so here.

2020-01-10  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR ld/22269
	* elf32-arm.c (elf32_arm_final_link_relocate): Use
	UNDEFWEAK_NO_DYNAMIC_RELOC.
	(allocate_dynrelocs_for_symbol): Likewise.

2020-01-10  Tamar Christina  <tamar.christina@arm.com>

	PR 25210
	* elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.

2020-01-10  Alan Modra  <amodra@gmail.com>

	* coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.

2020-01-09  Nick Clifton  <nickc@redhat.com>

	PR 25221
	* bfd.c (bfd_convert_section_contents): Check for a compress
	header size that is larger than the actual section size.

2020-01-08  Alan Modra  <amodra@gmail.com>

	PR 25351
	* elflink.c (bfd_elf_final_link): Call _bfd_fix_excluded_sec_syms
	after removing sections.

2020-01-06  Jim Wilson  <jimw@sifive.com>

	PR 25205
	* elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Add
	check for !bfd_link_pic (info).
	<R_RISCV_CALL_PLT>: Move next to R_RISCV_CALL.
	<R_RISCV_JAL>: Add comment.
	(_bfd_riscv_relax_section): For plt.offset check, add check for
	bfd_link_pic (info).  Add comment.

2020-01-06  Alan Modra  <amodra@gmail.com>

	* format.c (bfd_check_format_matches): Ignore bfd_error on target
	match failures.  Don't init to bfd_error_wrong_format before
	calling _bfd_check_format.

2020-01-06  Alan Modra  <amodra@gmail.com>

	* vms-alpha.c (_bfd_vms_push, _bfd_vms_pop): Return pass/fail
	status rather than exiting on stack overflow or underflow.
	(_bfd_vms_slurp_etir): Adjust to suit.

2020-01-06  Alan Modra  <amodra@gmail.com>

	* som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.

2020-01-06  Alan Modra  <amodra@gmail.com>

	* mach-o.c (bfd_mach_o_read_dylinker): Don't read past end of
	command.  Check name offset is within command.
	(bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib),
	(bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints),
	(bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab),
	(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid),
	(bfd_mach_o_read_linkedit, bfd_mach_o_read_str),
	(bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min),
	(bfd_mach_o_read_encryption_info, bfd_mach_o_read_source_version),
	(bfd_mach_o_read_encryption_info_64, bfd_mach_o_read_main),
	(bfd_mach_o_read_note, bfd_mach_o_read_build_version),
	(bfd_mach_o_read_segment): Similarly.
	(bfd_mach_o_read_thread): Properly bound check thread struct.
	Don't repeat checks on second loop.
	(bfd_mach_o_read_command): Fail on invalid command length.

2020-01-04  Alan Modra  <amodra@gmail.com>

	* format.c (bfd_check_format_matches): Add preserve_match.
	Save initial bfd state in "preserve", matched bfd state in
	"preserve_match".  Save just the first match.  Release
	bfd_alloc memory.  Restore and finish preserved state as
	appropriate on all function exit paths.

2020-01-04  Alan Modra  <amodra@gmail.com>

	* mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.

2020-01-04  Alan Modra  <amodra@gmail.com>

	* coffgen.c (coff_real_object_p): Free malloc'd memory on target
	match too.

2020-01-03  Nick Clifton  <nickc@redhat.com>

	PR 25307
	(bfd_pef_parse_function_stubs): Correct the test that ensures that
	there is enough data remaining in the code buffer before
	attempting to read a function stub.

2020-01-03  Nick Clifton  <nickc@redhat.com>

	PR 25308
	* elf-properties.c (_bfd_elf_convert_gnu_properties): Check the
	return value from bfd_malloc.
	* elf32-arm.c (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
	(bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Likewise.
	(elf32_arm_filter_cmse_symbols): Likewise.
	(elf32_arm_write_section): Likewise.
	* mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
	(bfd_mach_o_follow_dsym): Likewise.
	* pef.c (bfd_pef_print_loader_section): Likewise.
	(bfd_pef_scan_start_address): Likewise.
	(bfd_pef_parse_function_stubs): Likewise.
	(bfd_pef_parse_symbols): Likewise.

2020-01-03  Sergei Trofimovich  <siarheit@google.com>

        * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): don't fail
        on binary inputs ld/PR25316.
        (is_ia64_elf): new helper to filter on ia64 objects.

2020-01-03  Jan Beulich  <jbeulich@suse.com>

	* mach-o.c (cpusubtype, bfd_mach_o_header_p): Insert underscore
	in parameter names.
	(bfd_mach_o_scan): Insert underscore in two variable names.

2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>

	* Makefile.am: Add z80-elf target support.
	* configure.ac: Likewise.
	* targets.c: Likewise.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.bfd: Add z80-elf target support and new arches: ez80 and
	z180.
	* elf32-z80.c: New file.
	* archures.c: Add new z80 architectures: eZ80 and Z180.
	* coffcode.h: Likewise.
	* cpu-z80.c: Likewise.
	* coff-z80.c: Add new relocations for Z80 target and local label
	check.
	* reloc.c: Add new relocs.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2020-01-02  Tamar Christina  <tamar.christina@arm.com>

	PR 25210
	PR 24753
	* elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Set ELF class.

2020-01-01  Alan Modra  <amodra@gmail.com>

	Update year range in copyright notice of all files.

For older changes see ChangeLog-2019

Copyright (C) 2020 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: