+2021-06-30 Richard Henderson <richard.henderson@linaro.org>
+
+ * dwarf.c (display_debug_frames): Both DW_CFA_def_cfa_sf
+ and DW_CFA_def_cfa_offset_sf have a signed offset.
+
+2021-06-19 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_lines_decoded): Use memcpy rather than
+ strncpy when trimming file name length to MAX_FILENAME_LENGTH.
+ Don't make an unnecessary copy when length is good.
+
+2021-06-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * readelf.c (print_gnu_property_note): Handle
+ GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
+ GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
+
+2021-06-15 Nick Clifton <nickc@redhat.com>
+
+ * readelf.c (get_note_type): Add support for NT_GO_BUILDID.
+
+2021-06-15 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (locate_dynamic_section, is_pie): New functions.
+ (get_file_type): Replace e_type parameter with filedata. Call
+ is_pie for ET_DYN. Update all callers.
+ (process_program_headers): Use local variables dynamic_addr and
+ dynamic_size, updating filedata on exit from function. Set
+ dynamic_size of 1 to indicate no dynamic section or segment.
+ Update tests of dynamic_size throughout.
+ * testsuite/binutils-all/x86-64/pr27708.dump: Update expected output.
+
+2021-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf.c (struct abbrev_attr): Change type of implicit_const.
+ (add_abbrev_attr): Likewise.
+ (process_abbrev_set): Likewise.
+ (display_debug_abbrev): Adjust to above change.
+
+2021-06-12 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (process_file_header): Don't clear section_headers.
+
+2021-06-12 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (get_section_headers): Don't test e_shoff here, leave
+ that to get_32bit_section_headers or get_64bit_section_headers.
+ (process_object): Throw away section header read to print file
+ header extension.
+
+2021-06-11 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (struct filedata): Move archive_file_offset and
+ archive_file_size earlier.
+ (free_filedata): Clear using memset.
+
+2021-06-11 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (GET_ELF_SYMBOLS): Delete. Replace with..
+ (get_elf_symbols): ..this new function throughout.
+ (get_32bit_section_headers): Don't free section_headers.
+ (get_64bit_section_headers): Likewise.
+ (get_section_headers): New function, use throughout in place of
+ 32bit and 64bit variants.
+ (get_dynamic_section): Similarly.
+ (process_section_headers): Don't free filedata memory here.
+ (get_file_header): Don't get section headers here..
+ (process_object): ..Read them here instead. Don't exit without
+ freeing filedata memory.
+
+2021-06-09 Nick Clifton <nickc@redhat.com>
+
+ * MAINTAINERS: Remove Daniel Jacobwitz from the maintainers list.
+
+2021-06-07 Jan Beulich <jbeulich@suse.com>
+
+ * dwarf.c (display_debug_aranges): Add u suffix to constant.
+
+2021-05-29 Alan Modra <amodra@gmail.com>
+
+ * objdump (usage): Add missing \n.
+
+2021-05-29 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (parse_args): Call dwarf_select_sections_all on
+ --debug-dump without optarg.
+ (usage): Associate -w and --debug-dump options closely.
+ Split up help message. Remove extraneous blank lines around
+ ctf help.
+ * objdump.c (usage): Similarly.
+
+2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ * testsuite/binutils-all/mips/mips-xpa-virt-1.d: Correct CFC0
+ operand disassembly.
+ * testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
+
+2021-05-29 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ * testsuite/binutils-all/mips/mips-xpa-virt-1.d: Use `mips:3000'
+ machine for disassembly.
+ * testsuite/binutils-all/mips/mips-xpa-virt-2.d: Likewise.
+ * testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
+ * testsuite/binutils-all/mips/mips-xpa-virt-4.d: Likewise.
+
+2021-05-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/27905
+ * readelf.c (decode_x86_feature_2): Revert commit 50c95a739c9.
+
+2021-05-27 Alan Modra <amodra@gmail.com>
+
+ * readelf (usage): Order -w letters to match --debug-dump= and
+ move common '=' for --debug-dump out of brackets.
+
+2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/27905
+ * readelf.c (decode_x86_feature_2): Support
+ GNU_PROPERTY_X86_FEATURE_2_CODE16.
+
+2021-05-23 Tiezhu Yang <yangtiezhu@loongson.cn>
+
+ * readelf.c (get_machine_name): Change Loongson Loongarch to
+ LoongArch.
+
+2021-05-21 Luis Machado <luis.machado@linaro.org>
+
+ * readelf.c (get_note_type): Add missing NT_ARM_* entries.
+
+2021-05-21 Luis Machado <luis.machado@linaro.org>
+
+ * readelf.c (get_note_type): Handle NT_MEMTAG note types.
+
+2021-05-19 Eli Schwartz <eschwartz@archlinux.org>
+
+ * dwarf.c (ENABLE_CHECKING): Define to 0 if not previously set.
+
+2021-05-19 Alan Modra <amodra@gmail.com>
+
+ PR 27884
+ * dwarf.c (get_type_abbrev_from_form): Replace cu_offset_return
+ param with map_return, and return map for DW_FORM_ref_addr.
+ (get_type_signedness): Adjust calls to get_type_abbrev_from_form.
+ Pass returned cu map start and end to recursive call.
+ (read_and_display_attr_value): Similarly.
+
+2021-05-19 Alan Modra <amodra@gmail.com>
+
+ PR 27879
+ * sysdump.c (getBARRAY): Sanity check size against max.
+ (getINT): Avoid UB shift left.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (process_cu_tu_index): Avoid pointer UB. Use _mul_overflow.
+ Delete dead code.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_gdb_index): Avoid pointer UB and overflow in
+ length calculations.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_names): Complain when header length is
+ too small. Avoid pointer UB. Sanity check augmentation string,
+ CU table, TU table and foreign TU table sizes.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_frames): Delete initial_length_size.
+ Avoid pointer UB. Constrain data reads to length given in header.
+ Sanity check cie header length. Only skip up to next FDE on
+ finding augmentation data too long.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (read_cie): Add more sanity checks to ensure data
+ pointer is not bumped past end.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_ranges): Delete initial_length_size.
+ Correct fallback size calculated on finding a reloc. Constrain
+ data reads to length given in header. Avoid pointer UB.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_rnglists_list): Avoid pointer UB.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_str_offsets): Constrain reads to length
+ given in header.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_aranges): Delete initial_length_size.
+ Use end_ranges to constrain data reads to header length. Avoid
+ pointer UB.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_loc_list): Avoid pointer UB. Correct check
+ before reading uleb length. Warn on excess length.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_macro): Print strings that might not
+ be zero terminated with %*s. Don't bump curr if unterminated.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (get_line_filename_and_dirname): Delete initial_length_size.
+ Simplify length sanity check, and check for too small lengths.
+ Constrain data reads to header length. Avoid pointer UB.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_macinfo): Print strings that might not
+ be zero terminated with %*s. Don't bump curr if unterminated.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_pubnames_worker): Delete initial_length_size.
+ Simplify length check. Constrain reads to length given by header.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (display_debug_lines_decoded): Don't use strnlen when
+ we have already checked for NUL termination.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (read_debug_line_header): Delete initial_length_size.
+ Avoid pointer UB. Keep within length specified by header.
+ Delete dead code.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (process_debug_info): Always do the first CU length
+ scan for sanity checks. Remove initial_length_size var and
+ instead calculate end_cu. Use end_cu to limit data reads.
+ Delete now dead code checking length.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (SAFE_BYTE_GET_INTERNAL): Assert only when ENABLE_CHECKING.
+
+2021-05-15 Alan Modra <amodra@gmail.com>
+
+ * bucomm.h (_mul_overflow): Define.
+ * dwarf.c (get_encoded_value): Avoid pointer UB.
+
+2021-05-13 Alan Modra <amodra@gmail.com>
+
+ PR 27861
+ * dwarf.c (display_debug_str_offsets): Sanity check dwarf5
+ header length.
+
+2021-05-13 Alan Modra <amodra@gmail.com>
+
+ PR 27860
+ * dwarf.c (display_debug_frames): Sanity check cie_off before
+ attempting to read cie.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (process_extended_line_op): Don't bump data pointer past
+ end when strnlen doesn't find string terminator.
+ (decode_location_expression): Remove dead code.
+ (skip_attr_bytes): Remove const from end param. Ensure data
+ pointer doesn't pass end.
+ (get_type_signedness): Remove const from end param.
+ (read_and_display_attr_value): Ensure data pointer doesn't pass end.
+ (display_debug_lines_raw, display_debug_lines_decoded): Likewise.
+ (display_debug_pubnames_worker): Likewise.
+ (display_debug_pubnames_worker): Use SAFE_BYTE_GET_AND INC rather
+ than blindly incrementing data pointer.
+ (display_debug_addr, display_debug_str_offsets): Likewise. Don't
+ compare pointers, compare lengths.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (SAFE_BYTE_GET_INTERNAL): Define.
+ (SAFE_BYTE_GET, SAFE_BYTE_GET_AND_INC): Define using the above.
+ (SAFE_SIGNED_BYTE_GET, SAFE_SIGNED_BYTE_GET_AND_INC): Likewise.
+ (display_discr_list): Use SAFE_BYTE_GET_AND_INC rather than
+ SAFE_BYTE_GET followed by increment.
+ (process_debug_info): Likewise, and test bytes remaining before
+ incrementing section_begin rather than using pointer comparison.
+ (display_debug_names): Pass lvalue as SAFE_BYTE_GET PTR.
+ (process_cu_tu_index): Likewise for SAFE_BYTE_GET_AND_INC.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
+ (skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
+ SAFE_BYTE_GET_AND_INC.
+ (read_and_display_attr_value): Likewise. Print using dwarf_vmatoa.
+ (process_debug_info, process_cu_tu_index): Likewise.
+ * elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
+ (byte_get, byte_get_little_endian, byte_get_big_endian),
+ (byte_get_signed): Make size param unsigned. Remove code dealing
+ with 4-byte elf_vma.
+ (byte_get_64): Delete.
+ * elfcomm.h (byte_put, byte_put_little_endian, byte_put_big_endian),
+ (byte_get, byte_get_little_endian, byte_get_big_endian),
+ (byte_get_signed): Update prototypes.
+ (byte_get_64): Delete.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ PR 27836
+ * dwarf.c (display_debug_frames): Don't compare pointers derived
+ from user input. Test offset against bounds instead.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ PR 27853
+ * dwarf.c (display_formatted_table): Test for data >= end rather
+ than data == end.
+ (process_extended_line_op): Likewise.
+ (display_debug_lines_raw): Likewise.
+ (display_debug_lines_decoded): Likewise.
+
+2021-05-12 Alan Modra <amodra@gmail.com>
+
+ PR 27849
+ * dwarf.c (fetch_indexed_string): Correct length sanity checks.
+ Sanity check section size for version and padding too. Correct
+ index sanity check. Handle multiple tables in .debug_str_offsets.
+
+2021-05-11 Hans-Peter Nilsson <hp@axis.com>
+
+ * dwarf.c (process_abbrev_set): Properly parenthesize before
+ casting to unsigned long.
+
+2021-05-11 Alan Modra <amodra@gmail.com>
+
+ PR 27845
+ * dwarf.c (process_abbrev_set): Replace start and end parameters
+ with section, abbrev_base, abbrev_size, abbrev_offset. Update
+ all callers. Sanity check parameters correctly and emit warnings
+ here rather than..
+ (process_debug_info): ..here.
+
+2021-05-10 Thomas Wolff <towo@towo.net>
+
+ PR 4356
+ PR 26865
+ PR 27594
+ * windres.c (quot): Revert previous delta. Do not use double
+ quotes when spaces are detected in options.
+ * doc/binutils.texi (windres): Remove suggestion that the
+ --preprocessor option can take arguments.
+
+2021-05-10 Alan Modra <amodra@gmail.com>
+
+ * dwarf.c (SAFE_BYTE_GET): Check bounds by subtracting amount from
+ END rather than adding amount to PTR.
+ (SAFE_SIGNED_BYTE_GET, SAFE_BYTE_GET64): Likewise.
+
+2021-05-09 Alan Modra <amodra@gmail.com>
+
+ * objcopy.c (eq_string): Delete.
+ (create_symbol_htab): Use htab_eq_string.
+
+2021-05-08 Mike Frysinger <vapier@gentoo.org>
+
+ * README-how-to-make-a-release: Update html & pdf entries.
+
+2021-05-08 Mike Frysinger <vapier@gentoo.org>
+
+ * doc/Makefile.am (html-local, binutils/index.html): New targets.
+ * doc/Makefile.in: Regenerate.
+
+2021-05-08 Mike Frysinger <vapier@gentoo.org>
+
+ * doc/Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
+ * doc/Makefile.in: Regenerate.
+
+2021-05-07 Nick Clifton <nickc@redhat.com>
+
+ * readelf.c (no_processor_specific_unwind): New function.
+ (process_unwind): Use no_processor_specific_unwind for X86
+ targets.
+
+2021-05-07 Michael Forney <mforney@mforney.org>
+
+ * dwarf.c: Don't omit second operand of '?' operator.
+
2021-04-30 Nick Clifton <nickc@redhat.com>
PR 27796