Skip to content
Snippets Groups Projects
  1. Mar 11, 2022
  2. Mar 02, 2022
  3. Mar 01, 2022
  4. Jan 03, 2022
  5. Dec 03, 2021
  6. Dec 02, 2021
    • Rasmus Villemoes's avatar
      fix spelling of -linker-output-auto-nolto-rel · 1ea226fa
      Rasmus Villemoes authored
      The transposition nolto -> notlo is confusing and it makes the long
      name even harder to read than it already is - I kept reading it as
      "not lo" until I realized it was a simple typo.
      
      Fixes: 5269b246 (Silence warning in LTO mode on VxWorks)
      
      lto-plugin/
      	* lto-plugin.c: Fix -linker-output-auto-notlo-rel ->
      	-linker-output-auto-nolto-rel typo.
      	(process_option): Adjust accordingly, accepting both old and
      	new spelling.
      
      gcc/
      	* config/vxworks.h (LTO_PLUGIN_SPEC): Adapt to corrected
      	spelling of -linker-output-auto-nolto-rel.
      1ea226fa
  7. Sep 14, 2021
  8. Sep 13, 2021
    • Andrew Pinski's avatar
      Fix PR lto/49664: liblto_plugin.so exports too many symbols · 9e58de3c
      Andrew Pinski authored
      So right now liblto_plugin.so exports many libiberty symbols and
      simple_object file symbols but really it just needs to export onload.
      
      This fixes the problem by using "-export-symbols-regex onload" on
      the libtool link line.
      
      lto-plugin/ChangeLog:
      
      	PR lto/49664
      	* Makefile.am: Export only onload.
      	* Makefile.in: Regenerate.
      9e58de3c
  9. Jun 26, 2021
  10. Jun 25, 2021
    • Richard Biener's avatar
      add -ltrans-objects lto-plugin debug option · c6c7ac04
      Richard Biener authored
      This adds a -ltrans-objects option to lto-plugin that by-passes
      lto-wrapper invocation and instead feeds LD the final LTRANS objects
      directly from the response file given as argument to the option.
      This allows LD issues involving the linker-plugin path to be
      debugged in an easier way with just the IR objects (their symtab)
      and the LTRANS objects as testcase.
      
      I've tested the path re-building stage2 build/genmatch from an
      LTO bootstrap and got a bit-identical executable by adding
      -plugin-opt=-ltrans-objects=y to the original collect2 invocation,
      seeding y with the final objects as printed by building genmatch
      with -save-temps -v.
      
      2021-06-22  Richard Biener  <rguenther@suse.de>
      
      lto-plugin/
      	* lto-plugin.c (ltrans_objects): New global.
      	(all_symbols_read_handler): If -ltrans-objects was specified,
      	add the output files from the specified file directly.
      	(process_option): Handle -ltrans-objects.
      c6c7ac04
  11. May 11, 2021
  12. May 10, 2021
    • Martin Liska's avatar
      LTO plugin: use startswith function. · a2d7e58f
      Martin Liska authored
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (LTO_SEGMENT_NAME): Remove.
      	(LTO_SYMTAB_PREFIX): Likewise.
      	(LTO_SYMTAB_PREFIX_LEN): Likewise.
      	(LTO_SYMTAB_EXT_PREFIX): Likewise.
      	(LTO_SYMTAB_EXT_PREFIX_LEN): Likewise.
      	(LTO_LTO_PREFIX): Likewise.
      	(LTO_LTO_PREFIX_LEN): Likewise.
      	(OFFLOAD_SECTION): Likewise.
      	(OFFLOAD_SECTION_LEN): Likewise.
      	(startswith): New function.
      	(all_symbols_read_handler): Use it.
      	(process_symtab): Likewise.
      	(process_symtab_extension): Likewise.
      	(process_offload_section): Likewise.
      	(process_option): Likewise.
      a2d7e58f
  13. May 04, 2021
  14. May 03, 2021
    • H.J. Lu's avatar
      GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs · 3f570621
      H.J. Lu authored
      Check if host supports multi-byte NOPs before enabling CET on host.
      
      gcc/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      
      libbacktrace/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      
      libcc1/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      
      libcpp/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      
      libdecnumber/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/99703
      	* configure: Regenerated.
      3f570621
  15. Apr 22, 2021
  16. Apr 21, 2021
    • Martin Liska's avatar
      Fix clang warning (-Wstring-plus-int) · e9fc9d07
      Martin Liska authored
      This fixes:
      
      lto-plugin.c:642:7: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
      
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (exec_lto_wrapper): Make a temp variable.
      e9fc9d07
  17. Jan 06, 2021
  18. Jan 05, 2021
    • Samuel Thibault's avatar
      Update GNU/Hurd configure support · f56de355
      Samuel Thibault authored
      ChangeLog:
      
      	* libtool.m4: Match gnu* along other GNU systems.
      	* libgo/config/libtool.m4: Match gnu* along other GNU systems.
      	* libgo/configure: Re-generate.
      
      libffi/
      	* configure: Re-generate.
      
      libgomp/
      	* configure: Re-generate.
      
      gcc/
      
      	* configure: Re-generate.
      
      libatomic/
      
      	* configure: Re-generate.
      
      libbacktrace/
      
      	* configure: Re-generate.
      
      libcc1/
      
      	* configure: Re-generate.
      
      libgfortran/
      
      	* configure: Re-generate.
      
      libgomp/
      
      	* configure: Re-generate.
      
      libhsail-rt/
      
      	* configure: Re-generate.
      
      libitm/
      
      	* configure: Re-generate.
      
      libobjc/
      
      	* configure: Re-generate.
      
      liboffloadmic/
      
      	* configure: Re-generate.
      	* plugin/configure: Re-generate.
      
      libphobos/
      
      	* configure: Re-generate.
      
      libquadmath/
      
      	* configure: Re-generate.
      
      libsanitizer/
      
      	* configure: Re-generate.
      
      libssp/
      
      	* configure: Re-generate.
      
      libstdc++-v3/
      
      	* configure: Re-generate.
      
      libvtv/
      
      	* configure: Re-generate.
      
      lto-plugin/
      
      	* configure: Re-generate.
      
      zlib/
      
      	* configure: Re-generate.
      f56de355
  19. Jan 04, 2021
  20. Nov 30, 2020
  21. Nov 29, 2020
    • John David Anglin's avatar
      Fix hppa64-hpux11 build to remove source paths from embedded path. · 4e4ba647
      John David Anglin authored
      This change adds the +nodefaultrpath ld option to remove all library
      paths that were specified with the -L option from the embedded path.
      
      2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
      
      ChangeLog:
      	* libtool.m4 (archive_cmds): Add +nodefaultrpath ld option on
      	hppa64-*-hpux11*.
      
      libatomic/ChangeLog:
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      	* configure: Regenerate.
      
      libhsail-rt/ChangeLog:
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libquadmath/ChangeLog:
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      	* configure: Regenerate.
      4e4ba647
  22. Nov 26, 2020
  23. Nov 25, 2020
    • Matthew Malcomson's avatar
      libsanitizer: Add option to bootstrap using HWASAN · 170e618e
      Matthew Malcomson authored
      This is an analogous option to --bootstrap-asan to configure.  It allows
      bootstrapping GCC using HWASAN.
      
      For the same reasons as for ASAN we have to avoid using the HWASAN
      sanitizer when compiling libiberty and the lto-plugin.
      
      Also add a function to query whether -fsanitize=hwaddress has been
      passed.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Add --bootstrap-hwasan option.
      
      config/ChangeLog:
      
      	* bootstrap-hwasan.mk: New file.
      
      gcc/ChangeLog:
      
      	* doc/install.texi: Document new option.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Avoid using sanitizer.
      
      lto-plugin/ChangeLog:
      
      	* Makefile.am: Avoid using sanitizer.
      	* Makefile.in: Regenerate.
      170e618e
  24. Sep 11, 2020
  25. Sep 10, 2020
    • Jonathan Yong's avatar
      Cygwin/MinGW: Do not version lto plugins · ae6cf628
      Jonathan Yong authored
      GCC on Linux already uses liblto_plugin.so directly without
      the libtool version suffix, adjust windows GCC to do the same.
      
      gcc/ChangeLog:
      
      	* config.host: Adjust plugin name for Windows.
      
      lto-plugin/ChangeLog:
      
      	* Makefile.am: drop versioning from libtool completely.
      	* Makefile.in: regenerate.
      ae6cf628
    • GCC Administrator's avatar
      Daily bump. · 80f86e78
      GCC Administrator authored
      80f86e78
  26. Sep 09, 2020
    • Nick Clifton's avatar
      If the lto plugin encounters a file with multiple symbol sections, each of... · ad2a3715
      Nick Clifton authored
      If the lto plugin encounters a file with multiple symbol sections, each of which also has a v1 symbol extension section[1] then it will attempt to read the extension data for *every* symbol from each of the extension sections.  This results in reading off the end of a buffer with the associated memory corruption that that entails.  This patch fixes that problem.
      
      2020-09-09  Nick Clifton  <nickc@redhat.com>
      
      	* lto-plugin.c (struct plugin_symtab): Add last_sym field.
      	(parse_symtab_extension): Only read as many entries as are
      	available in the buffer.  Store the data read into the symbol
      	table indexed from last_sym.  Increment last_sym.
      ad2a3715
  27. Jul 31, 2020
  28. Jul 30, 2020
    • H.J. Lu's avatar
      Require CET support only for the final GCC build · 4712bde3
      H.J. Lu authored
      With --enable-cet, require CET support only for the final GCC build.
      Don't enable CET without CET support for non-bootstrap build, in stage1
      nor for build support.
      
      config/
      
      	PR bootstrap/96202
      	* cet.m4 (GCC_CET_HOST_FLAGS): Don't enable CET without CET
      	support in stage1 nor for build support.
      
      gcc/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      libbacktrace/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      libcc1/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      libcpp/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      libdecnumber/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      libiberty/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/96202
      	* configure: Regenerated.
      4712bde3
  29. May 30, 2020
  30. May 29, 2020
    • H.J. Lu's avatar
      Avoid nested save_CFLAGS and save_LDFLAGS · 9051b548
      H.J. Lu authored
      Avoid nested save_CFLAGS and save_LDFLAGS by replacing save_CFLAGS and
      save_LDFLAGS with cet_save_CFLAGS and cet_save_LDFLAGS in cet.m4.
      
      config/
      
      	PR bootstrap/95413
      	* cet.m4: Replace save_CFLAGS and save_LDFLAGS with
      	cet_save_CFLAGS and cet_save_LDFLAGS.
      
      gcc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libatomic/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libbacktrace/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libcc1/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libcpp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libdecnumber/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgcc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgfortran/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgomp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libiberty/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libitm/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libobjc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libphobos/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libquadmath/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libsanitizer/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libssp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libstdc++-v3/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libvtv/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      zlib/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      9051b548
  31. May 27, 2020
  32. May 26, 2020
    • Alexandre Oliva's avatar
      revamp dump and aux output names · 1dedc12d
      Alexandre Oliva authored
      This patch simplifies (!!!) the logic governing the naming of dump
      files and auxiliary output files in the driver, in the compiler, and
      in the LTO wrapper.  No changes are made to the naming of primary
      outputs, there are often ways to restore past behavior, and a number
      of inconsistencies are fixed.  Some internal options are removed
      (-auxbase and -auxbase-strip), sensible existing uses of -dumpdir and
      -dumpbase options remain unchanged, additional useful cases are added,
      making for what is still admittedly quite complex.  Extensive
      documentation and testcases provide numerous examples, from normal to
      corner cases.
      
      The most visible changes are:
      
      - aux and dump files now always go in the same directory, that
      defaults to the directory of the primary output, but that can be
      overridden with -dumpdir, -save-temps=*, or, preserving past behavior,
      with a -dumpbase with a directory component.
      
      - driver and compiler now have the same notion of naming of auxiliary
      outputs, e.g. .dwo files will no longer be in one location while the
      debug info suggests they are elsewhere, and -save-temps and .dwo
      auxiliary outputs now go in the same location as .su, .ci and
      coverage data, with consistent naming.
      
      - explicitly-specified primary output names guide not only the
      location of aux and dump outputs: the output base name is also used in
      their base name, as a prefix when also linking (e.g. foo.c bar.c -o
      foobar creates foobar-foo.dwo and foobar-bar.dwo with -gsplit-dwarf),
      or as the base name instead of the input name (foo.c -c -o whatever.o
      creates whatever.su rather than foo.su with -fstack-usage).  The
      preference for the input file base name, quite useful for our
      testsuite, can be restored with -dumpbase "".  When compiling and
      linking tests in the testsuite with additional inputs, we now use this
      flag.  Files named in dejagnu board ldflags, libs, and ldscripts are
      now quoted in the gcc testsuite with -Wl, so that they are not counted
      as additional inputs by the compiler driver.
      
      - naming a -dumpbase when compiling multiple sources used to cause
      dumps from later compiles to overwrite those of earlier ones; it is
      now used as a prefix when compiling multiple sources, like an
      executable name above.
      
      - the dumpbase, explicitly specified or computed from output or input
      names, now also governs the naming of aux outputs; since aux outputs
      usually replaced the suffix from the input name, while dump outputs
      append their own additional suffixes, a -dumpbase-ext option is
      introduced to enable a chosen suffix to be dropped from dumpbase to
      form aux output names.
      
      - LTO dump and aux outputs were quite a mess, sometimes leaking
      temporary output names into -save-temps output names, sometimes
      conversely generating desirable aux outputs in temporary locations.
      They now obey the same logic of compiler aux and dump outputs, landing
      in the expected location and taking the linker output name or an
      explicit dumpbase overrider into account.
      
      - Naming of -fdump-final-insns outputs now follows the dump file
      naming logic for the .gkd files, and the .gk dump files generated in
      the second -fcompare-debug compilation get the .gk inserted before the
      suffix that -dumpbase-ext drops in aux outputs.
      
      
      gcc/ChangeLog:
      
      	* common.opt (aux_base_name): Define.
      	(dumpbase, dumpdir): Mark as Driver options.
      	(-dumpbase, -dumpdir): Likewise.
      	(dumpbase-ext, -dumpbase-ext): New.
      	(auxbase, auxbase-strip): Drop.
      	* doc/invoke.texi (-dumpbase, -dumpbase-ext, -dumpdir):
      	Document.
      	(-o): Introduce the notion of primary output, mention it
      	influences auxiliary and dump output names as well, add
      	examples.
      	(-save-temps): Adjust, move examples into -dump*.
      	(-save-temps=cwd, -save-temps=obj): Likewise.
      	(-fdump-final-insns): Adjust.
      	* dwarf2out.c (gen_producer_string): Drop auxbase and
      	auxbase_strip; add dumpbase_ext.
      	* gcc.c (enum save_temps): Add SAVE_TEMPS_DUMP.
      	(save_temps_prefix, save_temps_length): Drop.
      	(save_temps_overrides_dumpdir): New.
      	(dumpdir, dumpbase, dumpbase_ext): New.
      	(dumpdir_length, dumpdir_trailing_dash_added): New.
      	(outbase, outbase_length): New.
      	(The Specs Language): Introduce %".  Adjust %b and %B.
      	(ASM_FINAL_SPEC): Use %b.dwo for an aux output name always.
      	Precede object file with %w when it's the primary output.
      	(cpp_debug_options): Do not pass on incoming -dumpdir,
      	-dumpbase and -dumpbase-ext options; recompute them with
      	%:dumps.
      	(cc1_options): Drop auxbase with and without compare-debug;
      	use cpp_debug_options instead of dumpbase.  Mark asm output
      	with %w when it's the primary output.
      	(static_spec_functions): Drop %:compare-debug-auxbase-opt and
      	%:replace-exception.  Add %:dumps.
      	(driver_handle_option): Implement -save-temps=*/-dumpdir
      	mutual overriding logic.  Save dumpdir, dumpbase and
      	dumpbase-ext options.  Do not save output_file in
      	save_temps_prefix.
      	(adds_single_suffix_p): New.
      	(single_input_file_index): New.
      	(process_command): Combine output dir, output base name, and
      	dumpbase into dumpdir and outbase.
      	(set_collect_gcc_options): Pass a possibly-adjusted -dumpdir.
      	(do_spec_1): Optionally dumpdir instead of save_temps_prefix,
      	and outbase instead of input_basename in %b, %B and in
      	-save-temps aux files.  Handle empty argument %".
      	(driver::maybe_run_linker): Adjust dumpdir and auxbase.
      	(compare_debug_dump_opt_spec_function): Adjust gkd dump file
      	naming.  Spec-quote the computed -fdump-final-insns file name.
      	(debug_auxbase_opt): Drop.
      	(compare_debug_self_opt_spec_function): Drop auxbase-strip
      	computation.
      	(compare_debug_auxbase_opt_spec_function): Drop.
      	(not_actual_file_p): New.
      	(replace_extension_spec_func): Drop.
      	(dumps_spec_func): New.
      	(convert_white_space): Split-out parts into...
      	(quote_string, whitespace_to_convert_p): ... these.  New.
      	(quote_spec_char_p, quote_spec, quote_spec_arg): New.
      	(driver::finalize): Release and reset new variables; drop
      	removed ones.
      	* lto-wrapper.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Define if...
      	(TARGET_EXECUTABLE_SUFFIX): ... is defined; define this to the
      	empty string otherwise.
      	(DUMPBASE_SUFFIX): Drop leading period.
      	(debug_objcopy): Use concat.
      	(run_gcc): Recognize -save-temps=* as -save-temps too.  Obey
      	-dumpdir.  Pass on empty dumpdir and dumpbase with a directory
      	component.  Simplify temp file names.
      	* opts.c (finish_options): Drop aux base name handling.
      	(common_handle_option): Drop auxbase-strip handling.
      	* toplev.c (print_switch_values): Drop auxbase, add
      	dumpbase-ext.
      	(process_options): Derive aux_base_name from dump_base_name
      	and dump_base_ext.
      	(lang_dependent_init): Compute dump_base_ext along with
      	dump_base_name.  Disable stack usage and callgraph-info	during
      	lto generation and compare-debug recompilation.
      
      gcc/fortran/ChangeLog:
      
      	* options.c (gfc_get_option_string): Drop auxbase, add
      	dumpbase_ext.
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/lang-specs.h: Drop auxbase and auxbase-strip.
      	Use %:dumps instead of -dumpbase.  Add %w for implicit .s
      	primary output.
      	* switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
      	dumpbase-ext.  Drop auxbase and auxbase-strip.
      
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (skip_in_suffix): New.
      	(exec_lto_wrapper): Use skip_in_suffix and concat to build
      	non-temporary output names.
      	(onload): Look for -dumpdir in COLLECT_GCC_OPTIONS, and
      	override link_output_name with it.
      
      contrib/ChangeLog:
      
      	* compare-debug: Adjust for .gkd files named as dump files,
      	with the source suffix rather than the object suffix.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.misc-tests/outputs.exp: New.
      	* gcc.misc-tests/outputs-0.c: New.
      	* gcc.misc-tests/outputs-1.c: New.
      	* gcc.misc-tests/outputs-2.c: New.
      	* lib/gcc-defs.exp (gcc_adjusted_linker_flags): New.
      	(gcc_adjust_linker_flags): New.
      	(dg-additional-files-options): Call it.  Pass -dumpbase ""
      	when there are additional sources.
      	* lib/profopt.exp (profopt-execute): Pass the executable
      	suffix with -dumpbase-ext.
      	* lib/scandump.exp (dump-base): Mention -dumpbase "" use.
      	* lib/scanltranstree.exp: Adjust dump suffix expectation.
      	* lib/scanwpaipa.exp: Likewise.
      1dedc12d
  33. May 12, 2020
    • H.J. Lu's avatar
      Enable CET in cross compiler if possible · d17cdc17
      H.J. Lu authored
      Don't perform CET run-time check for host when cross compiling.  Instead,
      enable CET in cross compiler if possible so that it will run on both CET
      and non-CET hosts.
      
      config/
      
      	PR bootstrap/94998
      	* cet.m4 (GCC_CET_HOST_FLAGS): Enable CET in cross compiler if
      	possible.
      
      libiberty/
      
      	PR bootstrap/94998
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/94998
      	* configure: Regenerated.
      d17cdc17
  34. May 05, 2020
    • Eric Botcazou's avatar
      Silence warning in LTO mode on VxWorks · 5269b246
      Eric Botcazou authored
      The link phase is always partial (-r) for VxWorks in kernel mode, which
      means that it uses incremental LTO linking by default (-flinker-output=rel).
      But in this mode the LTO plugin outputs a warning if one of the object files
      involved in the link does not contain LTO bytecode, before switching to
      nolto-rel mode.  We do not do repeated incremental linking for VxWorks so
      silence the warning.
      
      lto-plugin/
      	* lto-plugin.c: Document -linker-output-auto-notlo-rel option.
      	(linker_output_set): Change type to bool.
      	(linker_output_known): Likewise.
      	(linker_output_auto_nolto_rel): New variable.
      	(all_symbols_read_handler): Take it into account.
      	<LDPO_REL>: Do not issue the warning if it is set.
      	(process_option): Process -linker-output-auto-notlo-rel.
      	(cleanup_handler): Remove unused variable.
      	(onload) <LDPT_LINKER_OUTPUT>: Adjust to above type change.
      gcc/
      	* gcc.c (LTO_PLUGIN_SPEC): Define if not already.
      	(LINK_PLUGIN_SPEC): Execute LTO_PLUGIN_SPEC.
      	* config/vxworks.h (LTO_PLUGIN_SPEC): Define.
      5269b246
  35. Apr 28, 2020
    • H.J. Lu's avatar
      Check whether -fcf-protection=none -Wl,-z,ibt,-z,shstk work first · eedc73a2
      H.J. Lu authored
      GCC_CET_HOST_FLAGS uses -Wl,-z,ibt,-z,shstk to check if Linux/x86 host
      has Intel CET enabled by introducing an Intel CET violation on purpose.
      To avoid false positive, check whether -Wl,-z,ibt,-z,shstk works first.
      -fcf-protection=none is added to avoid false negative when -fcf-protection
      is enabled by default.
      
      config/
      
      	PR bootstrap/94739
      	* cet.m4 (GCC_CET_HOST_FLAGS): Add -fcf-protection=none to
      	-Wl,-z,ibt,-z,shstk.  Check whether -fcf-protection=none
      	-Wl,-z,ibt,-z,shstk works first.
      
      libiberty/
      
      	PR bootstrap/94739
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/94739
      	* configure: Regenerated.
      eedc73a2
  36. Apr 25, 2020
    • H.J. Lu's avatar
      Enable Intel CET in liblto_plugin.so on Intel CET enabled host · 8fc8bf80
      H.J. Lu authored
      Since ld is Intel CET enabled on Intel CET enabled host, dlopen fails on
      liblto_plugin.so if it isn't Intel CET enabled.  Add GCC_CET_HOST_FLAGS
      to cet.m4, use it in libiberty and lto-plugin to always enable Intel
      CET in liblto_plugin.so on Intel CET enabled host.
      
      On Linux/x86 host, enable Intel CET by default if assembler and compiler
      support Intel CET so that the generated liblto_plugin.so can be used on
      both CET and non-CET machines.  It is an error to disable Intel CET in
      liblto_plugin.so on Intel CET enabled host.
      
      config/
      
      	PR bootstrap/94739
      	* cet.m4 (GCC_CET_HOST_FLAGS): New.
      
      libiberty/
      
      	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.
      
      lto-plugin/
      
      	PR bootstrap/94739
      	* Makefile.am (AM_CFLAGS): Add $(CET_HOST_FLAGS).
      	* configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
      	AC_SUBST(CET_HOST_FLAGS).
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Likewise.
      	* configure: Likewise.
      8fc8bf80
  37. Mar 19, 2020
    • Martin Liska's avatar
      API extension for binutils (type of symbols). · c8429c2a
      Martin Liska authored
      	* lto-section-in.c: Add ext_symtab.
      	* lto-streamer-out.c (write_symbol_extension_info): New.
      	(produce_symtab_extension): New.
      	(produce_asm_for_decls): Stream also produce_symtab_extension.
      	* lto-streamer.h (enum lto_section_type): New section.
      	* lto-symtab.h (enum gcc_plugin_symbol_type): New.
      	(enum gcc_plugin_symbol_section_kind): Likewise.
      	* lto-plugin.c (LTO_SECTION_PREFIX): Rename to ...
      	(LTO_SYMTAB_PREFIX): ... this.
      	(LTO_SECTION_PREFIX_LEN): Rename to ...
      	(LTO_SYMTAB_PREFIX_LEN): ... this.
      	(LTO_SYMTAB_EXT_PREFIX): New.
      	(LTO_SYMTAB_EXT_PREFIX_LEN): New.
      	(LTO_LTO_PREFIX): New.
      	(LTO_LTO_PREFIX_LEN): New.
      	(parse_table_entry): Fill up unused to zero.
      	(parse_table_entry_extension): New.
      	(parse_symtab_extension): New.
      	(finish_conflict_resolution): Change type
      	for resolution.
      	(process_symtab): Use new macro name.
      	(process_symtab_extension): New.
      	(claim_file_handler): Parse also process_symtab_extension.
      	(onload): Call new add_symbols_v2.
      c8429c2a
  38. Jan 01, 2020
  39. Sep 27, 2019
    • Maciej W. Rozycki's avatar
      Regenerate `configure' scripts for `uclinuxfdpiceabi' libtool.m4 update · e9085da5
      Maciej W. Rozycki authored
      A change made with r275564 ("[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle 
      arm*-*-uclinuxfdpiceabi in configure scripts") to libtool.m4 has not 
      regenerated all the `configure' scripts affected.  Fix it.
      
      	gcc/
      	* configure: Regenerate.
      
      	libatomic/
      	* configure: Regenerate.
      
      	libbacktrace/
      	* configure: Regenerate.
      
      	libcc1/
      	* configure: Regenerate.
      
      	libffi/
      	* configure: Regenerate.
      
      	libgfortran/
      	* configure: Regenerate.
      
      	libgomp/
      	* configure: Regenerate.
      
      	libhsail-rt/
      	* configure: Regenerate.
      
      	libitm/
      	* configure: Regenerate.
      
      	libobjc/
      	* configure: Regenerate.
      
      	liboffloadmic/
      	* configure: Regenerate.
      
      	libphobos/
      	* configure: Regenerate.
      
      	libquadmath/
      	* configure: Regenerate.
      
      	libsanitizer/
      	* configure: Regenerate.
      
      	libssp/
      	* configure: Regenerate.
      
      	libstdc++-v3/
      	* configure: Regenerate.
      
      	libvtv/
      	* configure: Regenerate.
      
      	lto-plugin/
      	* configure: Regenerate.
      
      	zlib/
      	* configure: Regenerate.
      
      From-SVN: r276213
      e9085da5
Loading