3 * objcopy.c (dump_sections): New list.
4 (command_line_switch): Add OPTION_DUMP_SECTION.
5 (copy_options): Add dump-section.
6 (copy_usage): Document new option.
7 (copy_object): Dump requested sections.
8 (copy_main): Handle --dump-section.
9 * doc/binutils.texi: Document --dump-section option.
10 * NEWS: Mention new feature.
15 * dwarf.c (read_and_display_attr_value): Only print a tab
16 character if it preceeds further text.
20 * dwarf.c (fetch_indirect_string): Don't bias by section address.
21 (fetch_indexed_string): Likewise.
22 (process_debug_info): Likewise.
23 (display_debug_loc): Likewise.
24 (display_debug_ranges): Likewise.
29 * readelf.c: Include elf/nds32.h
30 (guess_is_rela): Add case for EM_NDS32.
31 (dump_relocations): Add case for EM_NDS32.
32 (decode_NDS32_machine_flags): New.
33 (get_machine_flags): Add case for EM_NDS32.
34 (is_32bit_abs_reloc): Likewise.
35 (is_16bit_abs_reloc): Likewise.
36 (process_nds32_specific): New.
37 (process_arch_specific): Add case for EM_NDS32.
38 * NEWS: Announce Andes nds32 support.
39 * MAINTAINERS: Add nds32 maintainers.
43 * Makefile.am (install-exec-local): Prefix libtool invocation with
44 $(INSTALL_PROGRAM_ENV).
45 * Makefile.in: Regenerate.
49 * windres.c (define_resource): Use zero for timestamp, making
50 output deterministic. time.h include is no longer needed.
51 * resres.c (res_append_resource): Likewise.
55 * rescoff.c (write_coff_file): Use 64-bit alignment for resource
57 (coff_res_to_bin): Likewise.
61 Add pretty-printing of .debug_gnu_pubnames, .debug_gnu_pubtypes.
62 * dwarf.c (get_gdb_index_symbol_kind_name): New function.
63 (display_debug_pubnames_worker): Renamed from display_debug_pubnames.
64 Add support for .debug_gnu_pubnames, .debug_gnu_pubtypes.
65 (display_debug_pubnames, display_debug_pubnames_gnu): New functions.
66 (display_gdb_index): Redo printing of symbol kind.
67 (debug_displays): Add .debug_gnu_pubnames, .debug_gnu_pubtypes.
68 * dwarf.h (dwarf_section_display_enum): Add gnu_pubnames, gnu_pubtypes.
69 * readelf.c (process_section_headers): Add gnu_pubnames, gnu_pubtypes.
73 * objdump.c (dump_dwarf): Grok bfd_mach_x86_64_nacl and
74 bfd_mach_x64_32_nacl as equivalent to bfd_mach_x86_64.
78 * readelf.c (get_ppc_dynamic_type): Replace PPC_TLSOPT with PPC_OPT.
79 (get_ppc64_dynamic_type): Replace PPC64_TLSOPT with PPC64_OPT.
83 * readelf.c (get_ppc64_symbol_other): New function.
84 (get_symbol_other): Use it for EM_PPC64.
88 * readelf.c (get_machine_flags): Display ABI version for EM_PPC64.
92 * nm.c (display_rel_file): Treat bfd_error_no_symbols as
97 * readelf.c (display_mips_gnu_attribute): Support Tag_GNU_MIPS_ABI_MSA.
98 * doc/binutils.texi: Document -Mmsa disassembler option.
102 * readelf.c (decode_arm_unwind): Don't initialize `addr'.
106 * readelf.c (decode_arm_unwind): Initialise addr structure.
107 (process_symbol_table): Free lengths.
108 * srcconv.c (wr_sc): Free info.
112 * winduni.c (languages): Use \345 (octal syntax) rather than
113 literal non-ASCII/non-UTF8 character in string literal.
115 * readelf.c (print_dynamic_symbol): Use array subscript syntax
116 rather than addition syntax with string literal.
121 * debug.c (debug_type_samep): Add missing break statement.
124 * objdump.c (usage): Mark as a no-return function.
125 (main): Add comment explaining why a break statement is not
128 * dwarf.c (add64): New function.
129 (read_and_display_attr_value): Add CU offset in to the value
130 displayed for a DW_AT_ref8 attribute.
134 * arsup.c (ar_save): Respect the deterministic setting when
135 reading from an mri script.
136 * ar.c (main): Set the default deterministic mode when reading
141 * dwarf.c (SAFE_BYTE_GET): Fix argument check.
145 * dwarf.c (display_debug_frames): Pass offset_size to
146 print_dwarf_vma for cie_id.
150 * configure: Regenerate.
154 * NEWS: Add marker for 2.24.
158 * Makefile.am (LEXLIB): Define. Replase references to @LEXLIB@
160 * Makefile.in: Regenerate.
164 * readelf.c (get_machine_flags): Handle EF_MIPS_FP64.
168 * dwarf.c (dwarf_vmatoa): Rename to dwarf_vmatoa_1 and add a
170 (dwarf_vmatoa): New wrapper for dwarf_vmatoa_1.
171 (print_dwarf_vma): Use dwarf_vmatoa_1.
172 (SAFE_BYTE_GET): Add check that VAL is big enough to contain
174 (process_debug_info): Use an unsigned int for the offset size.
175 (process_debug_pubnames): Likewise.
176 (display_debug_aranges): Likewise.
177 (struct Frame_Chunk): Use dwarf_vma type for pc_begin and pc_range
179 (frame_display_row): Use print_dwarf_vma to display dwarf_vma
181 (display_debug_frames): Likewise.
185 * dwarf.c (display_debug_frames): Check for DW64_CIE_ID when
186 parsing 64-bit frames.
191 * ar.c (map_over_members): Correctly handle multiple same-name
192 entries on the command line and in the archive.
196 * doc/binutils.texi: Remove the extra space.
201 * doc/binutils.texi (ranlib -D): Correct description.
203 (nm --special-syms): Fix typo.
208 * doc/binutils.texi (ar cmdline): Update description of 'q'
212 (nm): Add description of 'I' symbol type.
217 * od-xcoff.c: Fix typos.
221 * nm.c (print_size_symbols): Directly get symbol size.
226 * objdump.c (disassemble_section): Return early if nothing from
227 this section needs to be disassembled.
231 * readelf.c (get_machine_flags): Handle RL78 G10 flag.
244 * dwarf.c (dwarf_regnames_i386): Add k0-k7 registers and
245 numeration in comments.
246 (dwarf_regnames_x86_64): Add xmm16-31 and k0-k7 registers to
252 * readelf.c (get_unwind_section_word): Whilst searching for a
253 reloc section associated with an unwind section, check the type as
254 well as the section number.
258 * ar.c (usage): Fix C conformance issue.
262 * doc/binutils.texi (nm, objdump): Remove bogus links to STABS
265 * readelf.c (process_unwind): Do not return the result of a void
270 * readelf.c (display_mips_gnu_attribute): Replace hardcoded magic
271 numbers with enum values.
275 * readelf.c (get_machine_flags): Handle EF_MIPS_NAN2008.
279 * od-xcoff.c (OPT_LDINFO): Define.
280 (options): Add ldinfo.
281 (xcoff_help): Mention ldinfo.
282 (xcoff_dump): Rename to ...
283 (xcoff_dump_obj): ... this. Add a break.
284 (dump_dumpx_core): New function.
285 (xcoff_dump_core): Likewise.
286 (xcoff_dump): Likewise.
287 * doc/binutils.texi (objdump): Mention ldinfo.
291 * configure.com: Add new defines to match changes in configure.
295 * dwarf.c (display_debug_lines_raw): Print section offsets.
299 * dwarf.c (SAFE_BYTE_GET64): Correct end-of-buffer check;
301 (decode_location_expression): DW_OP_const2u should read 2 bytes.
302 (display_debug_lines_decoded): Adjust formatting.
303 * elfcomm.c (byte_get_little_endian): Add cases for 5-, 6-, and
305 (byte_get_big_endian): Likewise.
306 (byte_get_signed): Likewise.
310 * doc/binutils.texi: Document -Mvirt disassembler option.
314 * readelf.c: Add support for MSP430X architecture.
318 * dwarf.c (display_debug_lines_raw): Do not treat .debug_line.dwo
319 sections as if they were fragmentary .debug_line sections.
320 (display_debug_lines_decoded): Likewise.
324 * dwarf.c (read_debug_line_header): New function. Reads in a
325 header in a .debug_line section.
326 (display_debug_lines_raw): Use new function. Handle fragmentary
327 .debug_line sections.
328 (display_debug_lines_decoded): Likewise.
329 * readelf.c (process_section_headers): Handle fragmenatry
330 .debug_line sections.
331 (display_debug_section): Likewise.
335 * MAINTAINERS: Add myself and Cary as gold maintainers.
339 * dwarf.c (process_debug_info): Check dwarf_cutoff_level.
343 * dwarf-mode.el: Bump version number.
344 (dwarf-mode): Remove autoload.
345 (dwarf-die-reference): Relax regexp.
350 * configure.in: Add strnlen to AC_CHECK_DECLS, sort.
351 * dwarf.c (strnlen): Provide fallback decl.
352 * config.in: Regnerate.
353 * configure: Regenerate.
357 * dwarf.c (process_debug_info): Increment hdrptr by 8 after
363 * winduni.c (codepages[]): Use UTF-16LE.
364 (wind_MultiByteToWideChar): Likewise.
365 (wind_WideCharToMultiByte): Likewise.
370 * dwarf.c (read_and_display_attr_value): Cast format '*' arg to int.
375 * dwarf.c (SAFE_BYTE_GET): New macro - checks remaining buffer
376 space before calling byte_get.
377 (SAFE_BYTE_GET_AND_INC): New macro.
378 (SAFE_SIGNED_BYTE_GET): New macro.
379 (SAFE_SIGNED_BYTE_GET_AND_INC): New macro.
380 (SAFE_BYTE_GET64): New macro.
381 (process_extened_line_op): Use new macros. Use strnlen when
383 (fetch_indirect_string): Likewise.
384 (get_FORM_name): Likewise.
385 (decode_location_expression): Likewise.
386 (read_and_display_attr_value): Likewise.
387 (process_debug_info): Likewise.
388 (display_debug_lines_raw): Likewise.
389 (display_debug_lines_decoded): Likewise.
390 (display_debug_pubnames): Likewise.
391 (display_debug_macinfo): Likewise.
392 (get_line_filename_and_dirname): Likewise.
393 (display_debug_macro): Likewise.
394 (display_loc_list): Likewise.
395 (display_loc_list_dwo): Likewise.
396 (display_debug_aranges): Likewise.
397 (display_debug_ranges): Likewise.
398 (frame_display_row): Likewise.
399 (display_debug_frames): Likewise.
404 * dwarf.c (read_leb128): Add END parameter. Do not read at or
406 (read_sleb128): Add END parameter.
407 (read_uleb128): New function.
408 (process_extended_line_op): Pass END to leb128 functions.
409 (process_abbrev_section): Likewise.
410 (decode_location_expression): Likewise.
411 (read_and_display_attr_value): Likewise.
412 (read_and_display_attr): Likewise.
413 (process_debug_info): Likewise.
414 (display_debug_lines_raw): Likewise.
415 (display_debug_lines_decoded): Likewise.
416 (display_debug_macinfo): Likewise.
417 (get_line_filename_and_dirname): Likewise.
418 (display_debug_macro): Likewise.
419 (display_loc_list_dwo): Likewise.
420 (display_debug_ranges): Likewise.
421 * dwarf.h (read_leb128): Update prototype.
422 * readelf.c (read_uleb128): Add END parameter.
423 (decode_arm_unwind_bytecode): Pass END to read_uleb128.
424 (decode_tic6x_unwind_bytecode): Likewise.
425 (display_tag_value): New function.
426 (display_arm_attribute): Add END parameter. Pass END to
427 read_uleb128. Use display_tag_value.
428 (display_gnu_attribute): Likewise.
429 (display_power_gnu_attribute): Likewise.
430 (display_sparc_gnu_attribute): Likewise.
431 (display_mips_gnu_attribute): Likewise.
432 (display_tic6x_attribute): Likewise.
433 (process_attributes): Likewise.
434 (display_raw_attribute): New function.
439 * dwarf.c (display_debug_ranges): Add checks for reading beyond
440 the end of the section.
443 * readelf.c (apply_relocations): Catch relocations with negative
448 * addr2line.c (slurp_symtab): If canonicalization reveals that
449 there were no ordinary symbols, try loading the dynamic symbols
454 * MAINTAINERS: Add myself as Meta maintainer.
458 * readelf.c (get_note_type): Add NT_S390_TDB.
462 * strings.c (get_char): Dispense with buf[]. Instead shift
463 chars into big-endian value and byte-swap later if
464 little-endian. Don't EOF check value read from object.
468 * configure.in: Build DLL tools on x86_64-*-cygwin* as well.
469 * configure: Regenerate.
473 * elfcomm.c (error): Flush stdout before emitting the error
479 * dwarf.c (cu_tu_indexes_read, shndx_pool, shndx_pool_size)
480 (shndx_pool_used): Move to top of file.
481 (struct cu_tu_set): New type.
482 (cu_count, tu_count, cu_sets, tu_sets): New file scope variables.
483 (fetch_indexed_string): Add "this_set" parameter. Update all callers.
484 (find_cu_tu_set_v2): New function.
485 (read_and_display_attr_value): Add "this_set" parameter.
486 (read_and_display_attr): Likewise.
487 (process_debug_info): Track base offsets for DWARF package files.
488 (load_debug_info): Call load_cu_tu_indexes.
489 (get_DW_SECT_short_name): New function.
490 (process_cu_tu_index): Add support for version 2 DWARF package files.
495 * readelf.c (offsetof): Define.
496 (CHECK_ENTSIZE_VALUES): Remove extraneous indefinite article.
497 (process_corefile_note_segment): Allow notes without name or
498 desc. Combine out-of-range checks. Disallow "negative"
504 * readelf.c (process_corefile_note_segment): Prevent attempts to
505 read beyond the end of the note buffer.
509 * objcopy.c (copy_main): Initialize context variable.
514 * ar.c (open_inarch): Fail on attempts to convert a normal archive
515 to a thin archive or vice versa.
516 * elfcomm.c (make_qualified_name): Handle corrupted thin
518 * readelf.c (process_archive): Likewise.
519 * doc/binutils.texi: Clarify documentation describing thin
525 * objcopy.c (enum change_action): Delete.
526 (struct section_list): Delete remove, copy, change_vma, change_lma
527 and set_flags fields. Add context field.
528 (find_section_list): Add a context parameter. Add support for
529 wildcard characters in section names.
530 (is_strip_section): Check for sections being both copied and
532 (copy_object): Pass context to find_section_list.
533 (setup_section): Likewise.
534 (copy_section): Likewise.
535 (copy_main): Likewise.
536 * doc/binutils: Document the new behaviour.
537 * NEWS: Mention the new feature
542 * objcopy.c (copy_object): Provide a helpful warning message when
543 adding a gnu_debuglink section to an object which already contains
548 * elfcomm.c (get_archive_member_name): Prevent seg-fault if a
549 corrupt archive uses long names but has no long name table.
554 Based on patches from Altera Corporation.
556 * readelf.c: Include elf/nios2.h.
557 (dump_relocations): Add case for EM_ALTERA_NIOS2.
558 (get_nios2_dynamic_type): New.
559 (get_dynamic_type): Add case for EM_ALTERA_NIOS2.
560 (is_32bit_abs_reloc): Fix EM_ALTERA_NIOS2 case.
561 (is_16bit_abs_reloc): Likewise.
562 (is_none_reloc): Add EM_ALTERA_NIOS2 and EM_NIOS32 cases.
563 * NEWS: Note Altera Nios II support.
564 * MAINTAINERS: Add Nios II maintainers.
568 * readelf.c (process_version_sections): Fix overflow checks to
569 avoid undefined behaviour.
573 * dwarf.c (display_gdb_index): Handle .gdb_index version 8.
577 * objcopy.c (parse_flags): Add merge and strings section flags.
581 * dwarf.c (display_loc_list): Update offset for each line
583 (print_addr_index): New function.
584 (display_loc_list_dwo): Update offset for each line printed.
585 Fix problems displaying loclists in .dwo files. Add support
587 (display_debug_loc): Remove custom header for .dwo files.
588 (display_debug_addr): Adjust formatting.
592 * objcopy.c : Enable long section names for OPTION_ADD_GNU_DEBUGLINK.
596 * dwarf.c (display_debug_addr): Add missing parentheses to expression.
600 * readelf.c (get_machine_flags): Decode E_V850E3V5_ARCH.
604 * readelf.c: Add strings for NT_S390_LAST_BREAK and
610 * addr2line.c (translate_addresses): When pretty printing, print
611 unknown function names on the same line as unknown symbol names.
615 * objdump.c (dump_target_specific): Fix NULL pointer test.
620 * stabs.c (parse_stab_members): Always set physname here to avoid
622 (parse_stab_argtypes): ..and don't duplicate the init here.
626 * binutils/readelf.c: (guess_is_rela): Add EM_METAG.
627 (dump_relocations): Add EM_METAG.
628 (get_machine_name): Correct case for Meta.
629 (is_32bit_abs_reloc): Add support for Meta ADDR32 reloc.
630 (is_none_reloc): Add support for Meta NONE reloc.
634 * readelf.c (get_note_type): Handle NT_ARM_TLS, NT_ARM_HW_BREAK
639 * objcopy.c (deterministic): Make int rather than bfd_boolean,
641 (strip_options, copy_options): Add -U/--disable-deterministic-archives.
642 (default_deterministic): New function.
643 (strip_main, copy_main): Handle -U. Call default_deterministic.
644 (copy_usage, strip_usage): Describe -U. Cite whether -D or -U is
645 the default based on DEFAULT_AR_DETERMINISTIC.
646 * doc/binutils.texi (objcopy, strip): Describe -U and effect of
647 configure options on -D.
649 * ar.c (default_deterministic): Comment fix.
653 * doc/binutils.texi: Fix ordering of top level nodes.
654 Replace erroneous uses of @itemx with @item.
658 * doc/binutils.texi (elfedit): Fix use of @itemx in @table.
662 * MAINTAINERS: Add myself as AArch64 co-maintainer.
666 * version.c (print_version): Update copyright year to 2013.
668 For older changes see ChangeLog-2012
670 Copyright (C) 2013 Free Software Foundation, Inc.
672 Copying and distribution of this file, with or without modification,
673 are permitted in any medium without royalty provided the copyright
674 notice and this notice are preserved.
680 version-control: never