X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libiberty%2FChangeLog;h=f5691180e4004a9bd2fdd30f4768e677bc8fbc63;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=3025e99324bd10db9aeb35d5a876ec2c7920d3ee;hpb=35a88fa501ff2e2fe133e7c0f38768ae703a43b7;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 3025e99324..f5691180e4 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,1064 @@ +2020-05-12 H.J. Lu + + PR bootstrap/94998 + * configure: Regenerated. + +2020-04-28 H.J. Lu + + PR bootstrap/94739 + * configure: Regenerated. + +2020-04-27 Jakub Jelinek + + PR demangler/94797 + * cp-demangle.c (cplus_demangle_operators): Add ss <=> operator. + * testsuite/demangle-expected: Add operator<=> test. + +2020-04-25 H.J. Lu + + 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. + +2020-03-05 Egeyar Bagcioglu + + * simple-object.c (handle_lto_debug_sections): Name + ".GCC.command.line" among debug sections to be copied over + from lto objects. + +2020-03-02 Nick Clifton + + * testsuite/demangle-expected: Update expected demangling of + enable_if pattern. + +2020-03-02 H.J. Lu + + PR lto/93966 + * simple-object.c (handle_lto_debug_sections): Also copy + .note.gnu.property section. + +2020-02-12 Sandra Loosemore + + PR libstdc++/79193 + PR libstdc++/88999 + + * configure: Regenerated. + +2020-02-05 Andrew Burgess + + * hashtab.c (htab_remove_elt): Make a parameter const. + (htab_remove_elt_with_hash): Likewise. + +2020-01-23 Alexandre Oliva + + * argv.c (writeargv): Output empty args as "". + +2020-01-01 Jakub Jelinek + + Update copyright years. + +2019-12-06 Tim Ruehsen + + * make-relative-prefix.c (split_directories): + Return early on empty 'name' + +2019-11-16 Tim Ruehsen + + * 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. + +2019-11-16 Eduard-Mihai Burtescu + + * 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. + +2019-11-15 Miguel Saldivar + + * testsuite/demangle-expected: Fix test. + +2019-11-04 Kamlesh Kumar + + * cp-demangle.c (d_expr_primary): Handle + nullptr demangling. + * testsuite/demangle-expected: Added test. + +2019-10-29 Paul Pluzhnikov + + * cp-demangle.c (d_number): Avoid signed int overflow. + +2019-10-28 Miguel Saldivar + + * cp-demangle.c (d_print_mod): Add a space before printing `complex` + and `imaginary`, as opposed to after. + * testsuite/demangle-expected: Adjust test. + +2019-10-03 Eduard-Mihai Burtescu + + * 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. + +2019-09-03 Eduard-Mihai Burtescu + + * 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. + +2019-08-27 Martin Liska + + 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. + +2019-08-12 Martin Liska + + * Makefile.in: Add filedescriptor.c. + * filedescriptor.c: New file. + * lrealpath.c (is_valid_fd): Remove. + +2019-08-08 Martin Liska + + PR bootstrap/91352 + * lrealpath.c (is_valid_fd): New function. + +2019-07-24 Martin Liska + + PR lto/91228 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Find first '\0' starting from gnu_lto + 1. + +2019-07-12 Ren Kimura + + * simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx. + This fixes a Bug 90924. + +2019-07-22 Martin Liska + + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Do not search for gnu_lto_v1, but search for first '\0'. + +2019-07-18 Eduard-Mihai Burtescu + + * cplus-dem.c: Include rust-demangle.h. + * rust-demangle.c: Include rust-demangle.h. + * rust-demangle.h: New file. + +2019-05-31 Michael Forney + + * cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__ + is non-zero. + +2019-04-30 Ben L + + * 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. + +2019-04-29 Ben L + + * cp-demangle.c (d_expression_1): Don't peek ahead unless the current + char is valid. + * testsuite/demangle-expected: Add testcase. + +2019-04-10 Nick Clifton + + 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. + +2019-04-07 Alan Modra + + * functions.texi: Regenerate. + +2019-03-14 Jason Merrill + Jakub Jelinek + + * hashtab.c (htab_remove_elt_with_hash): Return if slot is NULL rather + than if *slot is HTAB_EMPTY_ENTRY. + +2019-02-11 Philippe Waroquiers + + * 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. + +2019-01-22 Nidal Faour + + PR lto/88422 + * simple-object.c (O_BINARY): Define if not already defined. + (simple_object_copy_lto_debug_sections): Create file in binary + mode. + +2019-01-21 Tom Tromey + + * splay-tree.c (splay_tree_remove): Delete the key if necessary. + +2019-01-14 Tom Honermann + + * 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. + +2019-01-09 Sandra Loosemore + + PR other/16615 + + * cp-demangle.c: Mechanically replace "can not" with "cannot". + * floatformat.c: Likewise. + * strerror.c: Likewise. + +2019-01-01 Jakub Jelinek + + Update copyright years. + +2018-12-22 Jason Merrill + + 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. + +2018-12-07 Nick Clifton + + 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. + +2018-10-23 Jason Merrill + + 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. + +2018-10-31 Joseph Myers + + PR bootstrap/82856 + Merge from binutils-gdb: + 2018-06-19 Simon Marchi + + * configure.ac: Remove AC_PREREQ. + * configure: Re-generate. + * config.in: Re-generate. + +2018-10-01 Nathan Sidwell + + * 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. + +2018-08-23 Nathan Sidwell + Martin Liska + + PR driver/87056 + * pex-unix.c (pex_unix_exec_child): Duplicate bad_fn into local + scopes to avoid potential clobber. + +2018-08-20 Nathan Sidwell + + * pex-unix.c (pex_child_error): Delete. + (pex_unix_exec_child): Commonize error paths to single message & + exit. + +2018-07-30 Tom Tromey + + * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0. + +2018-07-26 Martin Liska + + 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. + +2018-07-19 Eli Zaretskii + + * simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect + to ENOSYS. + +2018-05-30 Jan Hubicka + + * 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. + +2018-05-28 Bernd Edlinger + + * splay-tree.c (splay_tree_compare_strings, + splay_tree_delete_pointers): New utility functions. + +2018-05-10 Martin Liska + + PR bootstrap/64914 + * md5.c: Use strict alignment with UBSAN_BOOTSTRAP. + +2018-04-30 Daniel van Gerpen + + * argv.c (expandargv): Fix memory leak for copied argv. + +2018-04-13 Rainer Orth + + PR lto/81968 + * simple-object.c (handle_lto_debug_sections): Keep .comment + section. + +2018-03-02 David Malcolm + + * cp-demangle.c: Update URL for g++ V3 ABI. + +2018-01-20 Eli Zaretskii + + * simple-object-xcoff.c (simple_object_xcoff_find_sections): Use + ulong_type to avoid warning about 32-bit shift. + +2018-01-11 Richard Biener + Rainer Orth + + 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. + +2018-01-10 Daniel van Gerpen + + * argv.c (expandargv): Correct check for dynamically + allocated argv. + +2018-01-03 Jakub Jelinek + + Update copyright years. + +2017-01-02 Richard Biener + + 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. + +2017-10-30 Richard Biener + + PR lto/82757 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Strip two leading _s from the __gnu_lto_* symbols. + +2017-10-24 Alan Modra + + PR lto/82687 + PR lto/82575 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Only make __gnu_lto symbols hidden. + +2017-10-20 Alan Modra + + PR lto/82575 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Make discarded non-local symbols weak and hidden. + +2017-10-18 Jakub Jelinek + + 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. + +2017-09-25 Nathan Sidwell + + 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. + +2017-09-21 Nathan Sidwell + + 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 + +2017-09-15 Nathan Sidwell + + 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. + +2017-09-15 Richard Biener + + PR lto/81968 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Iterate marking dependent sections necessary. + +2017-09-15 Nathan Sidwell + + * 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. + +2017-09-12 Jiong Wang + + * dwarfnames.c (DW_CFA_DUP): New define. + +2017-09-01 Martin Liska + + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Remove duplicite declaration. + +2017-08-31 Richard Biener + + PR lto/81968 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_section): + Keep names of removed global symbols. + +2017-08-29 Tony Reix + + * 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. + +2017-08-28 Richard Biener + + 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. + +2017-08-22 Richard Biener + + 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. + +2017-08-21 Richard Biener + + * 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. + +2017-07-02 Jan Kratochvil + + * dwarfnames.c (DW_FIRST_IDX, DW_END_IDX, DW_IDX, DW_IDX_DUP): New. + +2017-06-07 Tony Reix + Matthieu Sarter + David Edelsohn + + * simple-object-xcoff.c (simple_object_xcoff_find_sections): + Search symbol table for .go_export symbol and apply pfn if found. + +2017-05-31 DJ Delorie + + * configure.ac (strnlen): Add to AC_CHECK_DECLS. + * configure: Likewise. + * config.in: Add HACE_DECL_STRNLEN. + +2017-05-27 Iain Buclaw + + * d-demangle.c (dlang_identifier): Prefix mangled init symbols + with `initializer for'. + * testsuite/demangle-expected: Update tests. + +2017-05-27 Iain Buclaw + + * d-demangle.c (dlang_call_convention_p): Move declaration + before dlang_type. + (dlang_type): Handle function types. + * testsuite/d-demangle-expected: Add tests. + +2017-05-27 Iain Buclaw + + * d-demangle.c (dlang_parse_real): Remove stack buffer, write + the demangled hexadecimal directly to string. + * testsuite/d-demangle-expected: Add tests. + +2017-05-24 Eli Zaretskii + + * waitpid.c (wait) [__MINGW32__]: Define as a macro + that calls _cwait, so that this function works on MinGW. + +2017-05-02 Iain Buclaw + + * d-demangle.c (dlang_hexdigit): New function. + (ascii2hex): Remove function. + (dlang_parse_string): Update to call dlang_hexdigit. + * testsuite/d-demangle-expected: Add tests. + +2017-05-02 Iain Buclaw + + * 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. + +2017-05-02 Iain Buclaw + + * 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. + +2017-05-01 Iain Buclaw + + * d-demangle.c (dlang_value): Add comment explaining why cases for + digits are required. + * testsuite/d-demangle-expected: Update integer value tests. + +2017-05-01 Iain Buclaw + + * d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols. + * testsuite/d-demangle-expected: Add tests. + +2017-05-01 Iain Buclaw + + * 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. + +2017-05-01 Iain Buclaw + + * d-demangle.c (dlang_attributes): Handle scope attributes. + * testsuite/d-demangle-expected: Add tests. + +2017-04-27 Jonathan Wakely + + 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. + +2017-04-21 Mark Wielaard + + * 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. + +2017-04-21 Mark Wielaard + + * cp-demangle.c (d_substitution): Return NULL if d_add_substitution + fails. + +2017-04-21 Mark Wielaard + + * 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. + +2017-03-27 Pedro Alves + + * cp-demint.c (cplus_demangle_fill_component): Handle + DEMANGLE_COMPONENT_RVALUE_REFERENCE. + +2017-03-12 Mark Wielaard + + * 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. + +2017-03-08 Mark Wielaard + + 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. + +2017-01-18 Markus Trippelsdorf + + PR PR c++/70182 + * cp-demangle.c (d_unqualified_name): Handle "on" for + operator names. + * testsuite/demangle-expected: Add tests. + +2017-01-18 Markus Trippelsdorf + + PR c++/77489 + * cp-demangle.c (d_discriminator): Handle discriminator >= 10. + * testsuite/demangle-expected: Add tests for discriminator. + +2017-01-04 Jakub Jelinek + + Update copyright years. + +2017-01-04 Alan Modra + + * Makefile.in (configure_deps): Update. + * configure: Regenerate. + +2016-12-13 Jakub Jelinek + + PR c++/78761 + * cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto). + * testsuite/demangle-expected: Add test for decltype(auto). + +2016-12-12 Nathan Sidwell + + PR c++/78252 + * cp-demangle.c (struct d_print_info): Add is_lambda_arg field. + (d_print_init): Initialize it. + (d_print_comp_inner) : Check + is_lambda_arg for auto. + : Skip smashing check when + is_lambda_arg. + : Increment is_lambda_arg around arg + printing. + * testsuite/demangle-expected: Add lambda auto mangling cases. + +2016-12-06 DJ Delorie + + * argv.c (expandargv): Check for directories passed as @-files. + +2016-11-30 David Malcolm + + PR c/78498 + * strndup.c (strlen): Delete decl. + (strnlen): Add decl. + (strndup): Call strnlen rather than strlen. + * xstrndup.c (xstrndup): Likewise. + +2016-11-29 Nathan Sidwell + + * cp-demangle.c (d_print_comp_inner): Fix parameter indentation. + +2016-11-03 David Tolnay + Mark Wielaard + + * 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. + +2016-11-15 Mark Wielaard + + * 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. + +2016-11-14 Mark Wielaard + + * 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. + +2016-11-06 Mark Wielaard + + * configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local. + * configure: Regenerated. + +2016-11-07 Jason Merrill + + * 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. + +2016-11-02 Mark Wielaard + + * 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. + +2016-11-01 Jason Merrill + + * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor. + +2016-10-31 Mark Wielaard + + * cplus-dem.c (ada_demangle): Initialize demangled to NULL and + XDELETEVEC demangled when unknown. + +2016-09-19 Andrew Stubbs + + * pex-win32.c (argv_to_cmdline): Quote zero-length parameters. + * testsuite/test-pexecute.c (main): Insert check for zero-length parameters. + +2016-09-10 Mark Wielaard + + * cp-demangle.c (d_substitution): Change struct demangle_component + variable name from c to dc. + +2016-08-12 Marek Polacek + + PR c/7652 + * cp-demangle.c (d_print_mod): Add FALLTHRU. + +2016-08-04 Marcel Böhme + + 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. + +2016-07-29 Aldy Hernandez + + * make-relative-prefix.c (make_relative_prefix_1): Fall back to + malloc if alloca argument is greater than MAX_ALLOCA_SIZE. + +2016-07-15 Jason Merrill + + * 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. + +2016-07-13 Marcel Böhme + + 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. + +2016-06-12 Brooks Moses + + * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length + VLAs. + +2016-05-31 Alan Modra + + * xmemdup.c (xmemdup): Use xmalloc rather than xcalloc. + +2016-05-19 Jakub Jelinek + + PR c++/70498 + * cp-demangle.c (d_expression_1): Formatting fix. + +2016-05-18 Artemiy Volkov + + * 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. + +2016-05-02 Marcel Böhme + + PR c++/70498 + * cp-demangle.c: Parse numbers as integer instead of long to avoid + overflow after sanity checks. Include 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. + +2016-04-30 Oleg Endo + + * configure: Remove SH5 support. + +2016-04-08 Marcel Böhme + + PR c++/69687 + * cplus-dem.c: Include 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. + +2016-03-31 Mikhail Maltsev + Marcel Bohme + + 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. + +2016-01-27 Iain Buclaw + + * 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. + +2016-01-27 Iain Buclaw + + * 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. + +2016-01-27 Iain Buclaw + + * 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. + +2016-01-05 Mike Frysinger + + * argv.c (dupargv): Change arg to char * const *. Update comment. + (writeargv, countargv): Likewise. + * functions.texi (dupargv, writeargv, countargv): Likewise. + +2016-01-05 Mike Frysinger + + * argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup. + +2015-12-28 Patrick Palka + + * 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. + +2015-12-21 Nick Clifton + + PR 66827 + * regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left + shifting. + +2015-11-27 Pedro Alves + + 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. + +2015-11-12 Mike Stump + + * Makefile.in (etags tags TAGS): Use && instead of ;. + 2015-11-09 Alan Modra * configure.ac: Check size of size_t. @@ -32,6 +1093,10 @@ Android hosts. * configure: Regenerate. +2015-10-28 Jason Merrill + + * Makefile.in (TAGS): Fix for separate build directory. + 2015-10-18 Roland McGrath Iain Sandoe @@ -50,11 +1115,7 @@ (d_print_mod_list, d_print_mod, d_print_function_type) (is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE. -2015-09-30 Nick Clifton - - Import the following patches from the GCC mainline: - - 2015-08-15 Ian Lance Taylor +2015-08-15 Ian Lance Taylor * cp-demangle.c (d_abi_tags): Preserve di->last_name across any ABI tags. @@ -66,10 +1127,6 @@ * testsuite/d-demangle-expected: Update float and complex literal tests to check correct hexadecimal demangling. -2015-07-14 H.J. Lu - - * configure: Regenerated. - 2015-07-13 Mikhail Maltsev * cp-demangle.c (d_dump): Fix syntax error. @@ -437,7 +1494,7 @@ (d_ctor_dtor_name): Handle unified ctor/dtor. 2013-11-22 Cary Coutant - + PR other/59195 * cp-demangle.c (struct d_info_checkpoint): New struct. (struct d_print_info): Add current_template field. @@ -566,11 +1623,11 @@ 2013-05-31 Matt Burgess 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. @@ -1370,7 +2427,6 @@ Daniel Jacobowitz Pedro Alves - libiberty/ * argv.c (consume_whitespace): New function. (only_whitespace): New function. (buildargv): Always use ISSPACE by calling consume_whitespace. @@ -1571,8 +2627,8 @@ 2009-04-07 Arnaud Patard - * libiberty/configure.ac: Fix Linux/MIPS matching rule. - * libiberty/configure: Regenerate. + * configure.ac: Fix Linux/MIPS matching rule. + * configure: Regenerate. 2009-03-27 Ian Lance Taylor @@ -1735,8 +2791,8 @@ 2008-04-21 Aurelien Jarno - * libiberty/configure.ac: use -fPIC on Linux/MIPS hosts. - * libiberty/configure: Regenerate. + * configure.ac: use -fPIC on Linux/MIPS hosts. + * configure: Regenerate. 2008-04-18 Kris Van Hees @@ -1942,7 +2998,7 @@ that are locale-independent. * Makefile.in (filename_cmp.o): Add dependency on safe-ctype.h. -2007-04-11 Thomas Neumann tneumann@users.sourceforge.net +2007-04-11 Thomas Neumann * argv.c: Use ANSI C declarations. * make-relative-prefix.c: Likewise. @@ -3514,7 +4570,7 @@ 2003-12-15 Brendan Kehoe - * libiberty/Makefile.in (floatformat.o): Add dependency on + * Makefile.in (floatformat.o): Add dependency on config.h to accompany change of 2003-12-03. 2003-12-15 Ian Lance Taylor @@ -4210,7 +5266,7 @@ 2002-10-06 Andreas Jaeger - * 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. @@ -4478,7 +5534,7 @@ 2002-01-31 Adam Megacz - * gcc/libiberty/configure.in: Treat mingw the same as cywin + * configure.in: Treat mingw the same as cywin wrt HAVE_SYS_ERRLIST. 2002-01-30 Phil Edwards @@ -4986,8 +6042,8 @@ Tue Aug 21 12:35:04 2001 Christopher Faylor 2001-03-10 Neil Booth John David Anglin - * libiberty/lbasename.c: New file. - * libiberty/Makefile.in: Update for lbasename. + * lbasename.c: New file. + * Makefile.in: Update for lbasename. 2001-03-06 Zack Weinberg @@ -5360,13 +6416,13 @@ Tue Aug 21 12:35:04 2001 Christopher Faylor 2000-08-24 Greg McGary - * libiberty/random.c (end_ptr): Revert previous change. + * random.c (end_ptr): Revert previous change. 2000-08-24 Greg McGary - * 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. 2000-08-23 Alex Samuel