1. 12 Feb, 2019 1 commit
    • Fix splay tree KEY leak detected in GDB test gdb.base/macscp.exp · f9f75f8d
      When a node is removed from a splay tree, the splay tree was
      not using the function splay_tree_delete_key_fn to release the key.
      This was causing a leak, fixed by Tom Tromey.
      
      This patch fixes another key leak, that happens when a key equal to
      a key already present is inserted.  In such a case, we have to release
      the old KEY.
      Note that this is based on the assumption that the caller always
      allocates a new KEY when doing an insert.
      
      Also, clarify the documentation about when the release functions are
      called.
      
      2019-02-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
      
      	* splay-tree.h (splay_tree_delete_key_fn): Update comment.
      	(splay_tree_delete_value_fn): Likewise.
      
      libiberty/ChangeLog
      2019-02-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
      
      	* 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.
      
      From-SVN: r268793
      Philippe Waroquiers committed
  2. 22 Jan, 2019 1 commit
  3. 21 Jan, 2019 1 commit
    • Fix leak in splay-tree · 2197ea17
      Philippe Waroquiers noticed a memory leak in gdb, which he tracked
      down to a bug in splay-tree.  splay_tree_remove does not call the
      `delete_key' function when it removes the old node; but it should.
      
      I looked at every splay tree in GCC and there is only one that passes
      a non-NULL delete function -- the one in lto.c.  That file does not
      call splay_tree_remove.  So, I think this is safe to check in.
      
      I re-ran the LTO tests to double check.
      
      libiberty/
      	* splay-tree.c (splay_tree_remove): Delete the key if necessary.
      
      From-SVN: r268116
      Tom Tromey committed
  4. 14 Jan, 2019 1 commit
    • Implement P0482R5, char8_t: A type for UTF-8 characters and strings · 2d91f79d
      gcc/cp/
      	* cvt.c (type_promotes_to): Handle char8_t promotion.
      	* decl.c (grokdeclarator): Handle invalid type specifier
      	combinations involving char8_t.
      	* lex.c (init_reswords): Add char8_t as a reserved word.
      	* mangle.c (write_builtin_type): Add name mangling for char8_t (Du).
      	* parser.c (cp_keyword_starts_decl_specifier_p)
      	(cp_parser_simple_type_specifier): Recognize char8_t as a simple
      	type specifier.
      	(cp_parser_string_literal): Use char8_array_type_node for the type
      	of CPP_UTF8STRING.
      	(cp_parser_set_decl_spec_type): Tolerate char8_t typedefs in system
      	headers.
      	* rtti.c (emit_support_tinfos): type_info support for char8_t.
      	* tree.c (char_type_p): Recognize char8_t as a character type.
      	* typeck.c (string_conv_p): Handle conversions of u8 string
      	literals of char8_t type.
      	(check_literal_operator_args): Handle UDLs with u8 string literals
      	of char8_t type.
      	* typeck2.c (ordinary_char_type_p): New.
      	(digest_init_r): Disallow initializing a char array with a u8 string
      	literal.
      gcc/c-family/
      	* c-common.c (c_common_reswords): Add char8_t.
      	(fix_string_type): Use char8_t for the type of u8 string literals.
      	(c_common_get_alias_set): char8_t doesn't alias.
      	(c_common_nodes_and_builtins): Define char8_t as a builtin type in
      	C++.
      	(c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
      	(keyword_begins_type_specifier): Add RID_CHAR8.
      	* c-common.h (rid): Add RID_CHAR8.
      	(c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
      	Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
      	Define char8_type_node and char8_array_type_node.
      	* c-cppbuiltin.c (cpp_atomic_builtins): Predefine
      	__GCC_ATOMIC_CHAR8_T_LOCK_FREE.
      	(c_cpp_builtins): Predefine __cpp_char8_t.
      	* c-lex.c (lex_string): Use char8_array_type_node as the type of
      	CPP_UTF8STRING.
      	(lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
      	* c-opts.c: If not otherwise specified, enable -fchar8_t when
      	targeting C++2a.
      	* c.opt: Add the -fchar8_t command line option.
      libiberty/
      	* 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.
      
      From-SVN: r267923
      Tom Honermann committed
  5. 09 Jan, 2019 1 commit
    • PR other/16615 [2/5] · adcb167e
      2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR other/16615 [2/5]
      
      	include/
      	* libiberty.h: Mechanically replace "can not" with "cannot".
      	* plugin-api.h: Likewise.
      
      	libiberty/
      	* cp-demangle.c: Mechanically replace "can not" with "cannot".
      	* floatformat.c: Likewise.
      	* strerror.c: Likewise.
      
      From-SVN: r267784
      Sandra Loosemore committed
  6. 01 Jan, 2019 1 commit
  7. 23 Dec, 2018 1 commit
    • Remove support for demangling GCC 2.x era mangling schemes. · 6c8120c5
      libiberty/
      	* 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.
      include/
      	* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
      	ARM, HP, and EDG demangling styles.
      
      From-SVN: r267363
      Jason Merrill committed
  8. 07 Dec, 2018 1 commit
    • Add a recursion limit to libiberty's demangling code. The limit is enabled by… · e96d1d8c
      Add a recursion limit to libiberty's demangling code.  The limit is enabled by default, but can be disabled via a new demangling option.
      
      include	* demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
              (DEMANGLE_RECURSION_LIMIT): Define
      
      	PR 87681
      	PR 87675
      	PR 87636
      	PR 87350
      	PR 87335
      libiberty * 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.
      
      From-SVN: r266886
      Nick Clifton committed
  9. 05 Nov, 2018 1 commit
    • Implement P0732R2, class types in non-type template parameters. · 4be5c72c
      There is one significant piece of this that is not implemented yet: the
      reliance on defaulted operator<=>, which someone else has been working on.
      So, for the moment those lines are commented out of the testcases.
      
      One tricky bit was treating template parameters of classtype as const
      lvalues without making their decltype const; for this I used a
      VIEW_CONVERT_EXPR wrapper, which previously could only appear in templates
      as location wrappers.
      
      The user-defined literal parts of P0732R2 are in the next patch.
      
      gcc/cp/
      	* error.c (dump_simple_decl): Look through a template parm object.
      	* mangle.c (write_template_arg): Likewise.
      	(mangle_template_parm_object): New.
      	* pt.c (template_parm_object_p, get_template_parm_object): New.
      	(invalid_tparm_referent_p): Factor from convert_nontype_argument.
      	(convert_nontype_argument, invalid_nontype_parm_type_p): Handle
      	class-type template arguments.
      	* tree.c (lvalue_kind): Likewise.
      gcc/c-family/
      	* c-cppbuiltin.c (c_cpp_builtins): Add
      	__cpp_nontype_template_parameter_class.
      libiberty/
      	* 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.
      include/
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_TPARM_OBJ.
      
      From-SVN: r265789
      Jason Merrill committed
  10. 31 Oct, 2018 1 commit
    • Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). · 22e05272
      This patch updates GCC to use autoconf 2.69 and automake 1.15.1.
      (That's not the latest automake version, but it's the one used by
      binutils-gdb, with which consistency is desirable, and in any case
      seems a useful incremental update that should make a future update to
      1.16.1 easier.)
      
      The changes are generally similar to the binutils-gdb ones, and are
      copied from there where shared files and directories are involved
      (there are some further changes to such shared directories, however,
      which I'd expect to apply to binutils-gdb once this patch is in GCC).
      Largely, obsolete AC_PREREQ calls are removed, while many
      AC_LANG_SOURCE calls are added to avoid warnings from aclocal and
      autoconf.  Multilib support is no longer included in core automake,
      meaning that multilib.am needs copying from automake's contrib
      directory into the GCC source tree.  Autoconf 2.69 has Go support, so
      local copies of that support are removed.  I hope the D support will
      soon be submitted to upstream autoconf so the local copy of that can
      be removed in a future update.  Changes to how automake generates
      runtest calls mean quotes are removed from RUNTEST definitions in five
      lib*/testsuite/Makefile.am files (libatomic, libgomp, libitm,
      libphobos, libvtv; some others have RUNTEST definitions without
      quotes, which are still OK); libgo and libphobos also get
      -Wno-override added to AM_INIT_AUTOMAKE so those overrides of RUNTEST
      do not generate automake warnings.
      
      Note that the regeneration did not include regeneration of
      fixincludes/config.h.in (attempting such regeneration resulted in all
      the USED_FOR_TARGET conditionals disappearing; and I don't see
      anything in the fixincludes/ directory that would result in such
      conditionals being generated, unlike in the gcc/ directory).  Also
      note that libvtv/testsuite/other-tests/Makefile.in was not
      regenerated; that directory is not listed as a subdirectory for which
      Makefile.in gets regenerated by calling "automake" in libvtv/, so I'm
      not sure how it's meant to be regenerated.
      
      While I mostly fixed warnings should running aclocal / automake /
      autoconf, there were various such warnings from automake in the
      libgfortran, libgo, libgomp, liboffloadmic, libsanitizer, libphobos
      directories that I did not fix, preferring to leave those to the
      relevant subsystem maintainers.  Specifically, most of those warnings
      were of the following form (example from libgfortran):
      
      Makefile.am:48: warning: source file 'caf/single.c' is in a subdirectory,
      Makefile.am:48: but option 'subdir-objects' is disabled
      automake: warning: possible forward-incompatibility.
      automake: At least a source file is in a subdirectory, but the 'subdir-objects'
      automake: automake option hasn't been enabled.  For now, the corresponding output
      automake: object file(s) will be placed in the top-level directory.  However,
      automake: this behaviour will change in future Automake versions: they
      will
      automake: unconditionally cause object files to be placed in the same subdirectory
      automake: of the corresponding sources.
      automake: You are advised to start using 'subdir-objects' option throughout your
      automake: project, to avoid future incompatibilities.
      
      I think it's best for the relevant maintainers to add subdir-objects
      and do any other associated Makefile.am changes needed.  In some cases
      the paths in the warnings involved ../; I don't know if that adds any
      extra complications to the use of subdir-objects.
      
      I've tested this with native, cross and Canadian cross builds.  The
      risk of any OS-specific issues should I hope be rather lower than if a
      libtool upgrade were included (we *should* do such an upgrade at some
      point, but it's more complicated - it involves identifying all our
      local libtool changes to see if any aren't included in the upstream
      version we update to, and reverting an upstream libtool patch that's
      inappropriate for use in GCC); I think it would be better to get this
      update into GCC so that people can test in different configurations
      and we can fix any issues found, rather than to try to get more and
      more testing done before it goes in.
      
      top level:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* multilib.am: New file.  From automake.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
      	* ar-lib: New file.
      	* test-driver: New file.
      	* configure: Re-generate.
      
      config:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* math.m4, tls.m4: Use AC_LANG_SOURCE.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.
      
      fixincludes:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, configure: Regenerate.
      
      gcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use single
      	line for second argument of AC_DEFINE_UNQUOTED.
      	* doc/install.texi (Tools/packages necessary for modifying GCC):
      	Update to autoconf 2.69 and automake 1.15.1.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      gnattools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      gotools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* config/go.m4: Remove file.
      	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
      	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      intl:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.h.in: Re-generate.
      	* aclocal.m4: Re-generate.
      
      libada:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      libatomic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* acinclude.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libbacktrace:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libcc1:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libcpp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      libdecnumber:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* aclocal.m4.
      
      libffi:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove doc/libffi.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, fficonfig.h.in,
      	include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
      	Regenerate.
      
      libgcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* configure: Regenerate.
      
      libgfortran:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libgo [logically part of this change but omitted from the commit]:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* config/go.m4: Remove file.
      	* config/libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use
      	-Wno-override in AM_INIT_AUTOMAKE call.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libgomp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libgomp.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libhsail-rt:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libiberty:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.in: Re-generate.
      
      libitm:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libitm.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libobjc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, config.h.in, configure: Regenerate.
      
      liboffloadmic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* plugin/Makefile.am: Include multilib.am.
      	* plugin/configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, plugin/Makefile.in,
      	plugin/aclocal.m4, plugin/configure: Regenerate.
      
      libphobos:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use -Wno-override in
      	AM_INIT_AUTOMAKE call.
      	* m4/autoconf.m4: Add extra argument to AC_LANG_DEFINE call.
      	* m4/druntime/os.m4: Use AC_LANG_SOURCE.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, libdruntime/Makefile.in,
      	src/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libquadmath:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
      	(all-local): Define outside conditional code.
      	(CLEANFILES): Remove libquadmath.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libsanitizer:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, asan/Makefile.in, configure,
      	interception/Makefile.in, libbacktrace/Makefile.in,
      	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
      	ubsan/Makefile.in: Regenerate.
      
      libssp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.9.5.
      	* configure.ac: Remove AC_PREREQ.  Quote argument to
      	AC_RUN_IFELSE.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libstdc++-v3:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, doc/Makefile.in,
      	include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
      	python/Makefile.in, src/Makefile.in, src/c++11/Makefile.in,
      	src/c++17/Makefile.in, src/c++98/Makefile.in,
      	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libvtv:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      lto-plugin:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      zlib:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Modernize AC_INIT call, remove AC_PREREQ.
      	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign.
      	* Makefile.in: Re-generate.
      	* aclocal.m4: Re-generate.
      	* configure: Re-generate.
      
      From-SVN: r265695
      Joseph Myers committed
  11. 01 Oct, 2018 1 commit
  12. 27 Aug, 2018 1 commit
  13. 23 Aug, 2018 1 commit
  14. 21 Aug, 2018 1 commit
  15. 30 Jul, 2018 1 commit
  16. 26 Jul, 2018 1 commit
    • Add linker_output as prefix for LTO temps (PR lto/86548). · c00c9d03
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR lto/86548
      	* lto-wrapper.c: Add linker_output as prefix
              for ltrans_output_file.
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR lto/86548
      	* libiberty.h (make_temp_file_with_prefix): New function.
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              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.
      
      From-SVN: r262999
      Martin Liska committed
  17. 19 Jul, 2018 1 commit
  18. 30 May, 2018 2 commits
  19. 28 May, 2018 1 commit
    • splay-tree.h (splay_tree_compare_strings, [...]): Declare new utility functions. · b0c31bc6
      include:
      2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * splay-tree.h (splay_tree_compare_strings,
              splay_tree_delete_pointers): Declare new utility functions.
      
      libiberty:
      2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * splay-tree.c (splay_tree_compare_strings,
              splay_tree_delete_pointers): New utility functions.
      
      gcc:
      2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * tree-dump.c (dump_node): Use splay_tree_delete_pointers.
      
      c-family:
      2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
              splay_tree_delete_pointers.
      
      cp:
      2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * decl2.c (start_static_storage_duration_function): Use
              splay_tree_delete_pointers.
      
      From-SVN: r260850
      Bernd Edlinger committed
  20. 10 May, 2018 1 commit
  21. 30 Apr, 2018 1 commit
  22. 13 Apr, 2018 1 commit
  23. 02 Mar, 2018 1 commit
  24. 21 Jan, 2018 1 commit
  25. 11 Jan, 2018 1 commit
    • re PR lto/81968 (early lto debug objects make Solaris ld SEGV) · bf6f2cc7
      2018-01-11  Richard Biener  <rguenther@suse.de>
      	Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	PR lto/81968
      	libiberty/
      	* 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.
      
      Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
      
      From-SVN: r256528
      Richard Biener committed
  26. 10 Jan, 2018 1 commit
  27. 03 Jan, 2018 1 commit
  28. 02 Jan, 2018 1 commit
    • re PR lto/83452 (FAIL: gfortran.dg/save_6.f90 -O0 (test for excess errors)) · c1177db4
      2017-01-02  Richard Biener  <rguenther@suse.de>
      
      	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.
      
      From-SVN: r256069
      Richard Biener committed
  29. 30 Oct, 2017 1 commit
  30. 24 Oct, 2017 1 commit
    • PR82687, g++.dg/asan/default-options-1.C fails with PR82575 fix · 160826fe
      The problem with making discarded symbols hidden is that the
      non-default visibility is sticky.  When symbols other than the
      __gnu_lto ones are discarded that turns out to be a bad idea.
      
      	PR lto/82687
      	PR lto/82575
      	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
      	Only make __gnu_lto symbols hidden.  Delete outdated comment.
      	Silence ISO C warning.
      
      From-SVN: r254042
      Alan Modra committed
  31. 19 Oct, 2017 1 commit
    • PR82575, lto debugobj references __gnu_lto_slim, ld test liblto-17 fails · ebd208bf
      If __gnu_lto_slim is global, undefined, default visibility in the
      early debug object, then it finds its way into .dynsym when creating
      shared libraries.  __gnu_lto_slim in a symbol table (.dynsym or
      .symtab) signals nm and other binutils that the object is an LTO
      object needing a plugin, but that isn't the case for the ld liblti-17
      tests.  So, make __gnu_lto_slim hidden to prevent it becoming
      dynamic.  Further, make it weak because some linkers may warn on
      finding an undefined global non-default visibility symbol.
      
      	PR lto/82575
      	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
      	Make discarded non-local symbols weak and hidden.
      
      From-SVN: r253914
      Alan Modra committed
  32. 18 Oct, 2017 1 commit
  33. 26 Sep, 2017 1 commit
  34. 21 Sep, 2017 1 commit
  35. 15 Sep, 2017 3 commits
  36. 12 Sep, 2017 1 commit
    • Add DW_CFA_AARCH64_negate_ra_state to dwarf2.def/h and dwarfnames.c · ff971abe
        A new vendor CFA DW_CFA_AARCH64_negate_ra_state was introduced for ARMv8.3-A
      return address signing, it is multiplexing DW_CFA_GNU_window_save in CFA vendor
      extension space.
      
        This patch adds necessary code to make it available to external, the GDB
      patch (https://sourceware.org/ml/gdb-patches/2017-08/msg00215.html) is intended
      to use it.
      
        A new DW_CFA_DUP for it is added in dwarf2.def.  The use of DW_CFA_DUP is to
      avoid duplicated case value issue when included in libiberty/dwarfnames.
      
        Native x86 builds OK to make sure no macro expanding errors.
      
      Committed on behalf of Jiong Wang.
      
          include/
      	* dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP.
      	* dwarf2.h (DW_CFA_DUP): New define.
      
          libiberty/
      	* dwarfnames.c (DW_CFA_DUP): New define.
      
      From-SVN: r252037
      Jiong Wang committed
  37. 01 Sep, 2017 1 commit