+
+ 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.