+
+ PR ld/27173
+ * configure: Regenerated.
+
+
+ * Makefile.in (AR): Add @AR_PLUGIN_OPTION@
+ (RANLIB): Add @RANLIB_PLUGIN_OPTION@.
+ (configure_deps): Depend on ../config/gcc-plugin.m4.
+ * aclocal.m4: Include ../config/gcc-plugin.m4.
+ * configure.ac: AC_SUBST AR_PLUGIN_OPTION and
+ RANLIB_PLUGIN_OPTION.
+ * configure: Regenerated.
+
+
+ * strverscmp.c: Convert to utf8 from iso8859.
+
+
+ PR c++/67343
+ * cp-demangle.h (struct d_info): Add unresolved_name_state.
+ * cp-demangle.c (d_prefix): Add subst parm.
+ (d_nested_name): Pass it.
+ (d_unresolved_name): Split out from...
+ (d_expression_1): ...here.
+ (d_demangle_callback): Maybe retry with old sr mangling.
+ * testsuite/demangle-expected: Add test.
+
+
+ * cp-demangle.c (d_expression_1): Recognize qualified-id
+ on RHS of dt/pt.
+ * testsuite/demangle-expected: Add test.
+
+
+ * cp-demangle.c (d_unqualified_name): Clear is_expression.
+ * testsuite/demangle-expected: Add tests.
+
+
+ * configure: Regenerate.
+ * configure.ac: Avoid using sanitizer.
+
+
+ * rust-demangle.c (struct rust_demangler): Add
+ skipping_printing and bound_lifetime_depth fields.
+ (eat): Add (v0-only).
+ (parse_integer_62): Add (v0-only).
+ (parse_opt_integer_62): Add (v0-only).
+ (parse_disambiguator): Add (v0-only).
+ (struct rust_mangled_ident): Add punycode{,_len} fields.
+ (parse_ident): Support v0 identifiers.
+ (print_str): Respect skipping_printing.
+ (print_uint64): Add (v0-only).
+ (print_uint64_hex): Add (v0-only).
+ (print_ident): Respect skipping_printing,
+ Support v0 identifiers.
+ (print_lifetime_from_index): Add (v0-only).
+ (demangle_binder): Add (v0-only).
+ (demangle_path): Add (v0-only).
+ (demangle_generic_arg): Add (v0-only).
+ (demangle_type): Add (v0-only).
+ (demangle_path_maybe_open_generics): Add (v0-only).
+ (demangle_dyn_trait): Add (v0-only).
+ (demangle_const): Add (v0-only).
+ (demangle_const_uint): Add (v0-only).
+ (basic_type): Add (v0-only).
+ (rust_demangle_callback): Support v0 symbols.
+ * testsuite/rust-demangle-expected: Add v0 testcases.
+
+
+ * strstr.c (strstr): Make implementation ANSI/POSIX compliant.
+
+
+ PR c++/88115
+ * cp-demangle.c (d_print_comp_inner)
+ <case DEMANGLE_COMPONENT_EXTENDED_OPERATOR>: Don't print the
+ "operator " prefix for __alignof__.
+ <case DEMANGLE_COMPONENT_UNARY>: Always print parens around the
+ operand of __alignof__.
+ * testsuite/demangle-expected: Test demangling for __alignof__.
+
+
+ * pex-win32.c (pex_win32_exec_child): Initialize orig_err.
+
+
+ PR lto/97290
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Use sh_link of a .symtab_shndx section.
+
+
+ * dwarfnames.c (get_DW_UT_name): Define using DW_UT_FIRST, DW_UT
+ and DW_UT_END.
+
+
+ * floatformat.c (floatformat_bfloat16_big): New.
+ (floatformat_bfloat16_little): New.
+
+
+ * d-demangle.c: Include limits.h.
+ (ULONG_MAX, UINT_MAX): Provide fall-back definition.
+ (dlang_number): Simplify and correct overflow test. Only
+ write *ret on returning non-NULL. Make "ret" an unsigned long*.
+ Only succeed for result of [0,UINT_MAX].
+ (dlang_decode_backref): Simplify and correct overflow test.
+ Only write *ret on returning non-NULL. Only succeed for
+ result [1,MAX_LONG].
+ (dlang_backref): Remove now unnecessary range check.
+ (dlang_symbol_name_p): Likewise.
+ (string_need): Take a size_t n arg, and use size_t tem.
+ (string_append): Use size_t n.
+ (string_appendn, string_prependn): Take a size_t n arg.
+ (TEMPLATE_LENGTH_UNKNOWN): Define as -1UL.
+ (dlang_lname, dlang_parse_template): Take an unsigned long len
+ arg.
+ (dlang_symbol_backref, dlang_identifier, dlang_parse_integer),
+ (dlang_parse_integer, dlang_parse_string),
+ (dlang_parse_arrayliteral, dlang_parse_assocarray),
+ (dlang_parse_structlit, dlang_parse_tuple),
+ (dlang_template_symbol_param, dlang_template_args): Use
+ unsigned long variables.
+ * testsuite/d-demangle-expected: Add new tests.
+
+
+ * d-demangle.c (dlang_function_args): Handle 'in' and 'in ref'
+ parameter storage classes.
+ (dlang_type): Remove identifier type.
+ * testsuite/d-demangle-expected: Update tests.
+
+
+ PR lto/96385
+ * simple-object-elf.c
+ (simple_object_elf_copy_lto_debug_sections): Localize global
+ UNDEFs and reuse the prevailing name.
+
+
+ PR bootstrap/96202
+ * configure: Regenerated.
+
+
+ PR demangler/96143
+ * cp-demangle.c (d_lambda): Don't add substitution candidate.
+ * testsuite/demangle-expected: Update a few existing test cases
+ accordingly, and add a new test case.
+
+
+ * cp-demangle.c (cplus_demangle_operators): Add di, dx, dX.
+ (d_expression_1): Handle di and dX.
+ (is_designated_init, d_maybe_print_designated_init): New.
+ (d_print_comp_inner): Use d_maybe_print_designated_init.
+ * testsuite/demangle-expected: Add designator tests.
+
+
+ * bsearch.c (bsearch): Remove use of register keyword.
+ * bsearch_r.c (bsearch_r): Likewise.
+
+
+ * bsearch_r.c: New file.
+ * Makefile.in (CFILES): Add bsearch_r.c.
+ (REQUIRED_OFILES): Add bsearch_r.o.
+ * functions.texi: Regenerate.
+
+
+ PR bootstrap/95413
+ * configure: Regenerated.
+
+
+ * d-demangle.c (dlang_attributes): Add @live attribute.
+ * testsuite/d-demangle-expected: Add new tests.
+
+
+ * d-demangle.c (enum dlang_symbol_kinds): Remove enum.
+ (struct dlang_info): New struct
+ (dlang_decode_backref): New function.
+ (dlang_backref): New function.
+ (dlang_symbol_backref): New function.
+ (dlang_type_backref): New function.
+ (dlang_symbol_name_p): New function.
+ (dlang_function_type_noreturn): New function.
+ (dlang_function_type): Add 'info' parameter. Decode function type
+ with dlang_function_type_noreturn.
+ (dlang_function_args): Add 'info' parameter.
+ (dlang_type): Add 'info' parameter. Handle back referenced types.
+ (dlang_identifier): Replace 'kind' parameter with 'info'. Handle back
+ referenced symbols. Split off decoding of plain identifiers to...
+ (dlang_lname): ...here.
+ (dlang_parse_mangle): Replace 'kind' parameter with 'info'. Decode
+ function type and return with dlang_type.
+ (dlang_parse_qualified): Replace 'kind' parameter with 'info', add
+ 'suffix_modifier' parameter. Decode function type with
+ dlang_function_type_noreturn.
+ (dlang_parse_tuple): Add 'info' parameter.
+ (dlang_template_symbol_param): New function.
+ (dlang_template_args): Add 'info' parameter. Decode symbol parameter
+ with dlang_template_symbol_param. Handle back referenced values, and
+ externally mangled parameters.
+ (dlang_parse_template): Add 'info' parameter.
+ (dlang_demangle_init_info): New function.
+ (dlang_demangle): Initialize and pass 'info' parameter.
+ * testsuite/d-demangle-expected: Add new tests.
+
+
+ PR bootstrap/94998
+ * configure: Regenerated.
+
+
+ PR bootstrap/94739
+ * configure: Regenerated.
+
+
+ PR demangler/94797
+ * cp-demangle.c (cplus_demangle_operators): Add ss <=> operator.
+ * testsuite/demangle-expected: Add operator<=> test.
+
+
+ PR bootstrap/94739
+ * Makefile.in (COMPILE.c): Add @CET_HOST_FLAGS@.
+ (configure_deps): Add $(srcdir)/../config/cet.m4 and
+ $(srcdir)/../config/enable.m4.
+ * aclocal.m4: Include ../config/cet.m4 and ../config/enable.m4.
+ * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
+ AC_SUBST(CET_HOST_FLAGS).
+ * configure: Regenerated.
+
+
+ * simple-object.c (handle_lto_debug_sections): Name
+ ".GCC.command.line" among debug sections to be copied over
+ from lto objects.
+
+
+ * testsuite/demangle-expected: Update expected demangling of
+ enable_if pattern.
+
+
+ PR lto/93966
+ * simple-object.c (handle_lto_debug_sections): Also copy
+ .note.gnu.property section.
+
+
+ PR libstdc++/79193
+ PR libstdc++/88999
+
+ * configure: Regenerated.
+
+
+ * hashtab.c (htab_remove_elt): Make a parameter const.
+ (htab_remove_elt_with_hash): Likewise.
+
+
+ * argv.c (writeargv): Output empty args as "".
+
+
+ Update copyright years.
+
+
+ * make-relative-prefix.c (split_directories):
+ Return early on empty 'name'
+
+
+ * cp-demangle.c (d_print_init): Remove const from 4th param.
+ (cplus_demangle_fill_name): Initialize d->d_counting.
+ (cplus_demangle_fill_extended_operator): Likewise.
+ (cplus_demangle_fill_ctor): Likewise.
+ (cplus_demangle_fill_dtor): Likewise.
+ (d_make_empty): Likewise.
+ (d_count_templates_scopes): Remobe const from 3rd param,
+ Return on dc->d_counting > 1,
+ Increment dc->d_counting.
+ * cp-demint.c (cplus_demangle_fill_component): Initialize d->d_counting.
+ (cplus_demangle_fill_builtin_type): Likewise.
+ (cplus_demangle_fill_operator): Likewise.
+
+
+ * cplus-dem.c (cplus_demangle): Use rust_demangle directly.
+ (rust_demangle): Remove.
+ * rust-demangle.c (is_prefixed_hash): Rename to is_legacy_prefixed_hash.
+ (parse_lower_hex_nibble): Rename to decode_lower_hex_nibble.
+ (parse_legacy_escape): Rename to decode_legacy_escape.
+ (rust_is_mangled): Remove.
+ (struct rust_demangler): Add.
+ (peek): Add.
+ (next): Add.
+ (struct rust_mangled_ident): Add.
+ (parse_ident): Add.
+ (rust_demangle_sym): Remove.
+ (print_str): Add.
+ (PRINT): Add.
+ (print_ident): Add.
+ (rust_demangle_callback): Add.
+ (struct str_buf): Add.
+ (str_buf_reserve): Add.
+ (str_buf_append): Add.
+ (str_buf_demangle_callback): Add.
+ (rust_demangle): Add.
+ * rust-demangle.h: Remove.
+
+
+ * testsuite/demangle-expected: Fix test.
+
+
+ * cp-demangle.c (d_expr_primary): Handle
+ nullptr demangling.
+ * testsuite/demangle-expected: Added test.
+
+
+ * cp-demangle.c (d_number): Avoid signed int overflow.
+
+
+ * cp-demangle.c (d_print_mod): Add a space before printing `complex`
+ and `imaginary`, as opposed to after.
+ * testsuite/demangle-expected: Adjust test.
+
+
+ * rust-demangle.c (looks_like_rust): Remove.
+ (rust_is_mangled): Don't check escapes.
+ (is_prefixed_hash): Allow 0-9a-f permutations.
+ (rust_demangle_sym): Don't bail on unknown escapes.
+ * testsuite/rust-demangle-expected: Update 'main::$99$' test.
+
+
+ * rust-demangle.c (unescape): Remove.
+ (parse_lower_hex_nibble): New function.
+ (parse_legacy_escape): New function.
+ (is_prefixed_hash): Use parse_lower_hex_nibble.
+ (looks_like_rust): Use parse_legacy_escape.
+ (rust_demangle_sym): Use parse_legacy_escape.
+ * testsuite/rust-demangle-expected: Add 'llv$u6d$' test.
+
+
+ PR lto/91478
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ First find a WEAK HIDDEN symbol in symbol table that will be
+ preserved. Later, use the symbol name for all removed symbols.
+
+
+ * Makefile.in: Add filedescriptor.c.
+ * filedescriptor.c: New file.
+ * lrealpath.c (is_valid_fd): Remove.
+
+
+ PR bootstrap/91352
+ * lrealpath.c (is_valid_fd): New function.
+
+
+ PR lto/91228
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Find first '\0' starting from gnu_lto + 1.
+
+
+ * simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
+ This fixes a Bug 90924.
+
+
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Do not search for gnu_lto_v1, but search for first '\0'.
+
+
+ * cplus-dem.c: Include rust-demangle.h.
+ * rust-demangle.c: Include rust-demangle.h.
+ * rust-demangle.h: New file.
+
+
+ * cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
+ is non-zero.
+
+
+ * d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_tuple): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_structlit): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_integer): Fix stack underflow.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
+ * testsuite/demangle-expected: Add testcase.
+
+ * cp-demangle.c (d_encoding): Guard against NULL return values from
+ d_right (dc).
+ * testsuite/demangle-expected: Add testcase.
+
+
+ * cp-demangle.c (d_expression_1): Don't peek ahead unless the current
+ char is valid.
+ * testsuite/demangle-expected: Add testcase.
+
+
+ PR 89394
+ * cp-demangle.c (cplus_demangle_fill_name): Reject negative
+ lengths.
+ (d_count_templates_scopes): Replace num_templates and num_scopes
+ parameters with a struct d_print_info pointer parameter. Adjust
+ body of the function accordingly. Add recursion counter and check
+ that the recursion limit is not reached.
+ (d_print_init): Pass dpi parameter to d_count_templates_scopes.
+ Reset recursion counter afterwards, unless the recursion limit was
+ reached.
+
+
+ * functions.texi: Regenerate.
+
+
+ * hashtab.c (htab_remove_elt_with_hash): Return if slot is NULL rather
+ than if *slot is HTAB_EMPTY_ENTRY.
+
+
+ * splay-tree.c (splay_tree_insert): Also release old KEY in case
+ of insertion of a key equal to an already present key.
+ (splay_tree_new_typed_alloc): Update comment.
+
+
+ PR lto/88422
+ * simple-object.c (O_BINARY): Define if not already defined.
+ (simple_object_copy_lto_debug_sections): Create file in binary
+ mode.
+
+
+ * splay-tree.c (splay_tree_remove): Delete the key if necessary.
+
+
+ * cp-demangle.c (cplus_demangle_builtin_types)
+ (cplus_demangle_type): Add name demangling for char8_t (Du).
+ * cp-demangle.h: Increase D_BUILTIN_TYPE_COUNT to accommodate the
+ new char8_t type.
+
+
+ PR other/16615
+
+ * cp-demangle.c: Mechanically replace "can not" with "cannot".
+ * floatformat.c: Likewise.
+ * strerror.c: Likewise.
+
+
+ Update copyright years.
+
+
+ Remove support for demangling GCC 2.x era mangling schemes.
+ * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
+ internal_cplus_demangle, and all subroutines.
+ (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
+ Lucid, ARM, HP, and EDG demangling styles.
+ (cplus_demangle): Remove 'work' variable. Don't call
+ internal_cplus_demangle.
+
+
+ PR 87681
+ PR 87675
+ PR 87636
+ PR 87350
+ PR 87335
+ * cp-demangle.h (struct d_info): Add recursion_level field.
+ * cp-demangle.c (d_function_type): Add recursion counter.
+ If the recursion limit is reached and the check is not disabled,
+ then return with a failure result.
+ (cplus_demangle_init_info): Initialise the recursion_level field.
+ (d_demangle_callback): If the recursion limit is enabled, check
+ for a mangled string that is so long that there is not enough
+ stack space for the local arrays.
+ * cplus-dem.c (struct work): Add recursion_level field.
+ (squangle_mop_up): Set the numb and numk fields to zero.
+ (work_stuff_copy_to_from): Handle the case where a btypevec or
+ ktypevec field is NULL.
+ (demangle_nested_args): Add recursion counter. If
+ the recursion limit is not disabled and reached, return with a
+ failure result.
+
+
+ Implement P0732R2, class types in non-type template parameters.
+ * cp-demangle.c (d_dump, d_make_comp, d_count_templates_scopes)
+ (d_print_comp_inner): Handle DEMANGLE_COMPONENT_TPARM_OBJ.
+ (d_special_name): Handle TA.
+ (d_expresion_1): Fix demangling of brace-enclosed initializer list.
+
+
+ PR bootstrap/82856
+ Merge from binutils-gdb:
+
+ * configure.ac: Remove AC_PREREQ.
+ * configure: Re-generate.
+ * config.in: Re-generate.
+
+
+ * configure.ac (checkfuncs): Add pipe2.
+ * config.in, configure: Rebuilt.
+ * pex-unix.c (pex_unix_exec_child): Comminicate errors from child
+ to parent with a pipe, when possible.
+
+
+ PR driver/87056
+ * pex-unix.c (pex_unix_exec_child): Duplicate bad_fn into local
+ scopes to avoid potential clobber.
+
+
+ * pex-unix.c (pex_child_error): Delete.
+ (pex_unix_exec_child): Commonize error paths to single message &
+ exit.
+
+
+ * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0.
+
+
+ PR lto/86548
+ * make-temp-file.c (TEMP_FILE): Remove leading 'cc'.
+ (make_temp_file): Call make_temp_file_with_prefix with
+ first argument set to NULL.
+ (make_temp_file_with_prefix): Support also prefix.
+
+
+ * simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect
+ to ENOSYS.
+
+
+ * simple-object.c (handle_lto_debug_sections): Add rename parameter.
+ (handle_lto_debug_sections_rename): New function.
+ (handle_lto_debug_sections_norename): New function.
+ (simple_object_copy_lto_debug_sections): Add rename parameter.
+
+
+ * splay-tree.c (splay_tree_compare_strings,
+ splay_tree_delete_pointers): New utility functions.
+
+
+ PR bootstrap/64914
+ * md5.c: Use strict alignment with UBSAN_BOOTSTRAP.
+
+
+ * argv.c (expandargv): Fix memory leak for copied argv.
+
+
+ PR lto/81968
+ * simple-object.c (handle_lto_debug_sections): Keep .comment
+ section.
+
+
+ * cp-demangle.c: Update URL for g++ V3 ABI.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections): Use
+ ulong_type to avoid warning about 32-bit shift.
+
+
+ PR lto/81968
+ * simple-object-common.h (struct simple_object_functions):
+ Change copy_lto_debug_sections callback signature.
+ * simple-object-elf.c (SHN_HIRESERVE, SHT_SYMTAB_SHNDX,
+ SHF_INFO_LINK): Add defines.
+ (simple_object_elf_copy_lto_debug_sections): Instead of
+ leaving not to be copied sections empty unnamed SHT_NULL
+ remove them from the target section headers and adjust section
+ reference everywhere. Handle SHN_XINDEX in the symbol table
+ processing properly.
+ * simple-object.c (handle_lto_debug_sections): Change
+ interface to return a modified string and handle renaming
+ of relocation sections.
+
+
+ * argv.c (expandargv): Correct check for dynamically
+ allocated argv.
+
+
+ Update copyright years.
+
+
+ PR lto/83452
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Do not use UNDEF locals for removed symbols but instead just
+ define them in the first prevailing section and with no name.
+ Use the same gnu_lto_v1 name for all removed globals we promote to
+ WEAK UNDEFs so hpux can use a stub to provide this symbol. Clear
+ sh_info and sh_link in removed sections.
+
+
+ PR lto/82757
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Strip two leading _s from the __gnu_lto_* symbols.
+
+
+ PR lto/82687
+ PR lto/82575
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Only make __gnu_lto symbols hidden.
+
+
+ PR lto/82575
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Make discarded non-local symbols weak and hidden.
+
+
+ PR lto/82598
+ * simple-object.c (handle_lto_debug_sections): Copy over also
+ .note.GNU-stack section with unchanged name.
+ * simple-object-elf.c (SHF_EXECINSTR): Define.
+ (simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit
+ on .note.GNU-stack section.
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_encoding): Strip return type when name is a
+ LOCAL_NAME.
+ (d_local_name): Strip return type of enclosing TYPED_NAME.
+ * testsuite/demangle-expected: Add and adjust tests.
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_name): Revert addition of 'toplevel' parm.
+ (has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME.
+ (d_encoding): Revert d_name change. Use is_fnqual_component_type
+ to strip modifiers that do not belong.
+ (d_special_name, d_class_enum_type): Revert d_name call change.
+ (d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building.
+ (d_local_name): Revert parsing of a function type.
+ (d_print_comp_inner): An inner LOCAL_NAME might contain a
+ TEMPLATE.
+ * testsuite/demangle-expected: Add & adjust tests
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_name): Add 'toplevel' parm. Pass to ...
+ (d_local_name): ... here. Parse trailing function args on nested
+ local_name.
+ (d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Iterate marking dependent sections necessary.
+
+
+ * cp-demangle.c (is_fnqual_component_type): Reimplement using
+ FNQUAL_COMPONENT_CASE.
+ (d_encoding): Hold bare_function_type in local var.
+ (d_local_name): Build name in both cases and build result once.
+ Collapse switch-if to single conditional.
+ (d_local_name):
+
+ * testsuite/demangle-expected: Realign blank lines with tests.
+
+
+ * dwarfnames.c (DW_CFA_DUP): New define.
+
+
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Remove duplicite declaration.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Keep names of removed global symbols.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections):
+ Improve .go_export csect handling. Don't make assumptions
+ on containing section or number of auxiliary entries.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Adjust field with for sh_type write, set SHF_EXCLUDE only for
+ removed sections.
+
+
+ PR lto/81925
+ * simple-object-elf.c (simple_object_elf_write_shdr): Adjust
+ type of sh_addralign and sh_entsize and properly write
+ sh_entsize as Elf_Addr.
+ (simple_object_elf_write_to_file): Read sh_entsize as Elf_Addr.
+
+
+ * simple-object-common.h (struct simple_object_functions): Add
+ copy_lto_debug_sections hook.
+ * simple-object.c: Include fcntl.h.
+ (handle_lto_debug_sections): New helper function.
+ (simple_object_copy_lto_debug_sections): New function copying
+ early LTO debug sections to regular debug sections in a new file.
+ (simple_object_start_write): Handle NULL segment_name.
+ * simple-object-coff.c (simple_object_coff_functions): Adjust
+ for not implemented copy_lto_debug_sections hook.
+ * simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
+ * simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
+ * simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
+ SHT_GROUP): Add various sectopn header types.
+ (SHF_EXCLUDE): Add flag.
+ (Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
+ (ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
+ (STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
+ (STV_DEFAULT): Add symbol visibility.
+ (SHN_COMMON): Add special section index name.
+ (struct simple_object_elf_write): New.
+ (simple_object_elf_start_write): Adjust for new private data.
+ (simple_object_elf_write_shdr): Pass in values for all fields
+ we write.
+ (simple_object_elf_write_to_file): Adjust. Copy from recorded
+ section headers if requested.
+ (simple_object_elf_release_write): Release private data.
+ (simple_object_elf_copy_lto_debug_sections): Copy and rename sections
+ as denoted by PFN and all their dependences, symbols and relocations
+ to the empty destination file.
+ (simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
+
+
+ * dwarfnames.c (DW_FIRST_IDX, DW_END_IDX, DW_IDX, DW_IDX_DUP): New.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections):
+ Search symbol table for .go_export symbol and apply pfn if found.
+
+
+ * configure.ac (strnlen): Add to AC_CHECK_DECLS.
+ * configure: Likewise.
+ * config.in: Add HACE_DECL_STRNLEN.
+
+
+ * d-demangle.c (dlang_identifier): Prefix mangled init symbols
+ with `initializer for'.
+ * testsuite/demangle-expected: Update tests.
+
+
+ * d-demangle.c (dlang_call_convention_p): Move declaration
+ before dlang_type.
+ (dlang_type): Handle function types.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_parse_real): Remove stack buffer, write
+ the demangled hexadecimal directly to string.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * waitpid.c (wait) [__MINGW32__]: Define as a macro
+ that calls _cwait, so that this function works on MinGW.
+
+
+ * d-demangle.c (dlang_hexdigit): New function.
+ (ascii2hex): Remove function.
+ (dlang_parse_string): Update to call dlang_hexdigit.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (strtol): Remove declaration.
+ Updated all callers to use dlang_number.
+ (dlang_number): New function.
+ (dlang_value): Moved check for ISDIGIT into dlang_parse_integer.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_parse_symbol): Remove function.
+ (dlang_parse_qualified): New function.
+ (dlang_parse_mangle): New function.
+ (dlang_type): Update to call dlang_parse_qualified.
+ (dlang_identifier): Update to call either dlang_parse_qualified or
+ dlang_parse_mangle.
+ (dlang_type_modifier_p): Remove function.
+ (dlang_call_convention_p): Don't allow type modifiers in mangle.
+ (dlang_template_args): Update to call dlang_identifier.
+ (dlang_demangle): Update to call dlang_parse_mangle.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_value): Add comment explaining why cases for
+ digits are required.
+ * testsuite/d-demangle-expected: Update integer value tests.
+
+
+ * d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_identifier): Handle template constraint symbols.
+ (dlang_parse_template): Only advance if template symbol prefix is
+ followed by a digit.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_attributes): Handle scope attributes.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ PR demangler/80513
+ * cp-demangle.c (d_number): Check for overflow.
+ * cplus-dem.c (consume_count): Fix overflow check.
+ (gnu_special): Check for underscore after thunk delta.
+ * testsuite/demangle-expected: Add tests for overflows and invalid
+ characters in thunks.
+
+
+ * cp-demangle.c (MAX_RECURSION_COUNT): New constant.
+ (struct d_print_info): Add recursion field.
+ (d_print_init): Initialize recursion.
+ (d_print_comp): Check and update d_print_info recursion depth.
+
+
+ * cp-demangle.c (d_substitution): Return NULL if d_add_substitution
+ fails.
+
+
+ * cp-demangle.h (struct d_info): Remove did_subs field.
+ * cp-demangle.c (struct d_info_checkpoint): Likewise.
+ (d_template_param): Don't update did_subs.
+ (d_substitution): Likewise.
+ (d_checkpoint): Don't assign did_subs.
+ (d_backtrack): Likewise.
+ (cplus_demangle_init_info): Don't initialize did_subs.
+
+
+ * cp-demint.c (cplus_demangle_fill_component): Handle
+ DEMANGLE_COMPONENT_RVALUE_REFERENCE.
+
+
+ * cp-demangle.c (cplus_demangle_fill_name): Initialize
+ demangle_component d_printing.
+ (cplus_demangle_fill_extended_operator): Likewise.
+ (cplus_demangle_fill_ctor): Likewise.
+ (cplus_demangle_fill_dtor): Likewise.
+
+
+ PR demangler/70909
+ PR demangler/67264
+ * cp-demangle.c: Fix endless recursion. Pass
+ struct demangle_component as non const.
+ (d_make_empty): Initialize variable.
+ (d_print_comp_inner): Limit recursion.
+ (d_print_comp): Decrement variable.
+ * cp-demint.c (cplus_demangle_fill_component): Initialize
+ variable.
+ (cplus_demangle_fill_builtin_type): Likewise.
+ (cplus_demangle_fill_operator): Likewise.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR PR c++/70182
+ * cp-demangle.c (d_unqualified_name): Handle "on" for
+ operator names.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR c++/77489
+ * cp-demangle.c (d_discriminator): Handle discriminator >= 10.
+ * testsuite/demangle-expected: Add tests for discriminator.
+
+
+ Update copyright years.
+
+
+ * Makefile.in (configure_deps): Update.
+ * configure: Regenerate.
+
+
+ PR c++/78761
+ * cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
+ * testsuite/demangle-expected: Add test for decltype(auto).
+
+
+ PR c++/78252
+ * cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
+ (d_print_init): Initialize it.
+ (d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
+ is_lambda_arg for auto.
+ <DEMANGLE_COMPONENT_REFERENCE,
+ DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
+ is_lambda_arg.
+ <DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
+ printing.
+ * testsuite/demangle-expected: Add lambda auto mangling cases.
+
+
+ * argv.c (expandargv): Check for directories passed as @-files.
+
+
+ PR c/78498
+ * strndup.c (strlen): Delete decl.
+ (strnlen): Add decl.
+ (strndup): Call strnlen rather than strlen.
+ * xstrndup.c (xstrndup): Likewise.
+
+
+ * cp-demangle.c (d_print_comp_inner): Fix parameter indentation.
+
+
+ * Makefile.in (CFILES): Add rust-demangle.c.
+ (REQUIRED_OFILES): Add rust-demangle.o.
+ * cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
+ (cplus_demangle): Handle RUST_DEMANGLING.
+ (rust_demangle): New function.
+ * rust-demangle.c: New file.
+ * testsuite/Makefile.in (really-check): Add check-rust-demangle.
+ (check-rust-demangle): New rule.
+ * testsuite/rust-demangle-expected: New file.
+
+
+ * cp-demangle.c (d_expression_1): Make sure third expression
+ exists for ?: and fold expressions.
+ * testsuite/demangle-expected: Add examples of strings that could
+ crash the demangler because of missing expression.
+
+
+ * cplus-dem.c (demangle_signature): After 'H', template function,
+ no success and don't advance position if end of string reached.
+ (demangle_template): After 'z', template name, return zero on
+ premature end of string.
+ (gnu_special): Guard strchr against searching for zero characters.
+ (do_type): If member, only advance mangled string when 'F' found.
+ * testsuite/demangle-expected: Add examples of strings that could
+ crash the demangler by reading past end of input.
+
+
+ * configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
+ * configure: Regenerated.
+
+
+ * cp-demangle.c (is_fnqual_component_type): New.
+ (d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
+ (FNQUAL_COMPONENT_CASE): New.
+ (d_make_comp, has_return_type, d_print_comp_inner)
+ (d_print_function_type): Use it.
+ (next_is_type_qual): New.
+ (d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
+
+
+ * cplus-dem.c (demangle_signature): Move fall through comment.
+ (demangle_fund_type): Add fall through comment between 'G' and 'I'.
+ * hashtab.c (iterative_hash): Add fall through comments.
+ * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
+ (byte_re_match_2_internal): Add Fall through comment after jump_n.
+ Change "Note fall through" to "Fall through".
+ (common_op_match_null_string_p): Return false after set_number_at
+ instead of fall through.
+
+
+ * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
+
+
+ * cplus-dem.c (ada_demangle): Initialize demangled to NULL and
+ XDELETEVEC demangled when unknown.
+
+
+ * pex-win32.c (argv_to_cmdline): Quote zero-length parameters.
+ * testsuite/test-pexecute.c (main): Insert check for zero-length parameters.
+
+
+ * cp-demangle.c (d_substitution): Change struct demangle_component
+ variable name from c to dc.
+
+
+ PR c/7652
+ * cp-demangle.c (d_print_mod): Add FALLTHRU.
+
+
+ PR c++/71696
+ * cplus-dem.c: Prevent infinite recursion when there is a cycle
+ in the referencing of remembered mangled types.
+ (work_stuff): New stack to keep track of the remembered mangled
+ types that are currently being processed.
+ (push_processed_type): New method to push currently processed
+ remembered type onto the stack.
+ (pop_processed_type): New method to pop currently processed
+ remembered type from the stack.
+ (work_stuff_copy_to_from): Copy values of new variables.
+ (delete_non_B_K_work_stuff): Free stack memory.
+ (demangle_args): Push/Pop currently processed remembered type.
+ (do_type): Do not demangle a cyclic reference and push/pop
+ referenced remembered type.
+
+
+ * make-relative-prefix.c (make_relative_prefix_1): Fall back to
+ malloc if alloca argument is greater than MAX_ALLOCA_SIZE.
+
+
+ * cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
+ (d_expression_1): Handle them.
+ (d_maybe_print_fold_expression): New.
+ (d_print_comp_inner): Use it.
+ (d_index_template_argument): Handle negative index.
+
+ * cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
+ (d_print_comp_inner): Handle them.
+ (d_template_args_1): Split out from d_template_args.
+ (d_args_length): New.
+
+
+ PR c++/70926
+ * cplus-dem.c: Handle large values and overflow when demangling
+ length variables.
+ (demangle_template_value_parm): Read only until end of mangled string.
+ (do_hpacc_template_literal): Likewise.
+ (do_type): Handle overflow when demangling array indices.
+
+
+ * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
+ VLAs.
+
+
+ * xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.
+
+
+ PR c++/70498
+ * cp-demangle.c (d_expression_1): Formatting fix.
+
+
+ * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
+ constant.
+ (demangle_template_value_parm): Handle tk_rvalue_reference
+ type kind.
+ (do_type): Support 'O' type id (rvalue references).
+
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR c++/70498
+ * cp-demangle.c: Parse numbers as integer instead of long to avoid
+ overflow after sanity checks. Include <limits.h> if available.
+ (INT_MAX): Define if necessary.
+ (d_make_template_param): Takes integer argument instead of long.
+ (d_make_function_param): Likewise.
+ (d_append_num): Likewise.
+ (d_identifier): Likewise.
+ (d_number): Parse as and return integer.
+ (d_compact_number): Handle overflow.
+ (d_source_name): Change variable type to integer for parsed number.
+ (d_java_resource): Likewise.
+ (d_special_name): Likewise.
+ (d_discriminator): Likewise.
+ (d_unnamed_type): Likewise.
+ * testsuite/demangle-expected: Add regression test cases.
+
+
+ * configure: Remove SH5 support.
+
+
+ PR c++/69687
+ * cplus-dem.c: Include <limits.h> if available.
+ (INT_MAX): Define if necessary.
+ (remember_type, remember_Ktype, register_Btype, string_need):
+ Abort if we detect cases where we the size of the allocation would
+ overflow.
+
+ PR c++/70492
+ * cplus-dem.c (gnu_special): Handle case where consume_count returns
+ -1.
+
+
+ PR c++/67394
+ PR c++/70481
+ * cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
+ btypevec/ktypevec.
+ * testsuite/demangle-expected: Add coverage tests.
+
+
+ * d-demangle.c (dlang_call_convention): Handle extern Objective-C
+ function calling convention.
+ (dlang_call_convention_p): Likewise.
+ (dlang_type): Likewise.
+ * testsuite/d-demangle-expected: Add coverage tests.
+
+
+ * d-demangle.c (dlang_function_args): Append ',' for variadic functions
+ only if parameters were seen before the elipsis symbol.
+ * testsuite/d-demangle-expected: Add coverage test for parameter-less
+ variadic functions.
+
+
+ * d-demangle.c (dlang_type): Handle function types only in the context
+ of seeing a pointer type symbol.
+ * testsuite/d-demangle-expected: Update function pointer tests.
+
+
+ * argv.c (dupargv): Change arg to char * const *. Update comment.
+ (writeargv, countargv): Likewise.
+ * functions.texi (dupargv, writeargv, countargv): Likewise.
+
+
+ * argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
+
+
+ * crc32.c: In the documentation, don't refer to GDB's
+ now-nonexistent crc32 implementation. In the table-generation
+ program embedded within the documentation, change the type of
+ the induction variables i and j from int to unsigned int, to
+ avoid undefined behavior.
+
+
+ PR 66827
+ * regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
+ shifting.
+
+
+ PR other/61321
+ PR other/61233
+ * cp-demangle.c (d_demangle_callback, d_make_comp): Handle
+ DEMANGLE_COMPONENT_CONVERSION.
+ (is_ctor_dtor_or_conversion): Handle DEMANGLE_COMPONENT_CONVERSION
+ instead of DEMANGLE_COMPONENT_CAST.
+ (d_operator_name): Return a DEMANGLE_COMPONENT_CONVERSION
+ component if handling a conversion.
+ (d_count_templates_scopes, d_print_comp_inner): Handle
+ DEMANGLE_COMPONENT_CONVERSION.
+ (d_print_comp_inner): Handle DEMANGLE_COMPONENT_CONVERSION instead
+ of DEMANGLE_COMPONENT_CAST.
+ (d_print_cast): Rename as ...
+ (d_print_conversion): ... this. Adjust comments.
+ (d_print_cast): Rewrite - simply print the left subcomponent.
+ * cp-demint.c (cplus_demangle_fill_component): Handle
+ DEMANGLE_COMPONENT_CONVERSION.
+
+ * testsuite/demangle-expected: Add tests.
+
+
+ * Makefile.in (etags tags TAGS): Use && instead of ;.
+
* configure.ac: Check size of size_t.
Android hosts.
* configure: Regenerate.
+
+ * Makefile.in (TAGS): Fix for separate build directory.
+
+
+ PR other/63758
+ * pex-unix.c: Obtain the environment interface from settings in
+ environ.h rather than in-line code. Update copyright date.
+ * setenv.c: Likewise.
+ * xmalloc.c: Likewise.
+
* cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe.
(d_print_mod_list, d_print_mod, d_print_function_type)
(is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.
-
- Import the following patches from the GCC mainline:
-
* cp-demangle.c (d_abi_tags): Preserve di->last_name across any
ABI tags.
* testsuite/d-demangle-expected: Update float and complex literal
tests to check correct hexadecimal demangling.
-
- * configure: Regenerated.
-
* cp-demangle.c (d_dump): Fix syntax error.
(d_ctor_dtor_name): Handle unified ctor/dtor.
-
+
PR other/59195
* cp-demangle.c (struct d_info_checkpoint): New struct.
(struct d_print_info): Add current_template field.
PR other/56780
- * libiberty/configure.ac: Move test for --enable-install-libiberty
+ * configure.ac: Move test for --enable-install-libiberty
outside of the 'with_target_subdir' test so that it actually gets
run. Add output messages to show the test result.
- * libiberty/configure: Regenerate.
- * libiberty/Makefile.in (install_to_libdir): Place the
+ * configure: Regenerate.
+ * Makefile.in (install_to_libdir): Place the
installation of the libiberty library in the same guard as that
used for the headers to prevent it being installed unless
requested via --enable-install-libiberty.
- libiberty/
* argv.c (consume_whitespace): New function.
(only_whitespace): New function.
(buildargv): Always use ISSPACE by calling consume_whitespace.
- * libiberty/configure.ac: Fix Linux/MIPS matching rule.
- * libiberty/configure: Regenerate.
+ * configure.ac: Fix Linux/MIPS matching rule.
+ * configure: Regenerate.
- * libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.
- * libiberty/configure: Regenerate.
+ * configure.ac: use -fPIC on Linux/MIPS hosts.
+ * configure: Regenerate.
that are locale-independent.
* Makefile.in (filename_cmp.o): Add dependency on safe-ctype.h.
* argv.c: Use ANSI C declarations.
* make-relative-prefix.c: Likewise.
- * libiberty/Makefile.in (floatformat.o): Add dependency on
+ * Makefile.in (floatformat.o): Add dependency on
config.h to accompany change of 2003-12-03.
- * libiberty/cplus-dem.c (ada_demangle): Get rid of unneeded
+ * cplus-dem.c (ada_demangle): Get rid of unneeded
variable and of strict-aliasing warning.
(grow_vect): Use char as first parameter.
- * gcc/libiberty/configure.in: Treat mingw the same as cywin
+ * configure.in: Treat mingw the same as cywin
wrt HAVE_SYS_ERRLIST.
- * libiberty/lbasename.c: New file.
- * libiberty/Makefile.in: Update for lbasename.
+ * lbasename.c: New file.
+ * Makefile.in: Update for lbasename.
- * libiberty/random.c (end_ptr): Revert previous change.
+ * random.c (end_ptr): Revert previous change.
- * libiberty/cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
+ * cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
demangle_expression, demangle_function_name): Use ARRAY_SIZE.
- * libiberty/random.c (end_ptr): Likewise.
+ * random.c (end_ptr): Likewise.