Skip to content
Snippets Groups Projects
  1. Jul 13, 2022
  2. Jul 12, 2022
    • Martin Liska's avatar
      lto-plugin: implement LDPT_GET_API_VERSION · 32a75350
      Martin Liska authored
      include/ChangeLog:
      
      	* plugin-api.h (enum linker_api_version): New enum.
      	(ld_plugin_get_api_version): New.
      	(enum ld_plugin_tag): Add LDPT_GET_API_VERSION.
      	(struct ld_plugin_tv): Add tv_get_api_version.
      
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (negotiate_api_version): New.
      	(onload): Negotiate API version.
      	* Makefile.am: Add -DBASE_VERSION.
      	* Makefile.in: Regenerate.
      32a75350
  3. Jul 08, 2022
  4. Jul 07, 2022
    • Martin Liska's avatar
      lto-plugin: use locking only for selected targets · d89fa97f
      Martin Liska authored
      For now, support locking only for linux targets that are different from
      riscv* where the target depends on libatomic (and fails during
      bootstrap).
      
      	PR lto/106170
      
      lto-plugin/ChangeLog:
      
      	* configure.ac: Configure HAVE_PTHREAD_LOCKING.
      	* lto-plugin.c (LOCK_SECTION): New.
      	(UNLOCK_SECTION): New.
      	(claim_file_handler): Use the newly added macros.
      	(onload): Likewise.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      d89fa97f
  5. Jul 02, 2022
  6. Jul 01, 2022
    • Pekka Seppänen's avatar
      lto: pass -pthread to AM_LDFLAGS [PR 106118] · 51debf7f
      Pekka Seppänen authored
      Move -pthread from configure.ac to Makefile.in so that it is passed to AM_LDFLAGS.
      
      	PR lto/106118
      
      lto-plugin/ChangeLog:
      
      	* configure.ac: Move -pthread from here...
      	* Makefile.am: ...to here.
      	* configure: Regenerate.
      	* Makefile.in: Likewise.
      51debf7f
  7. Jun 28, 2022
  8. Jun 27, 2022
    • Martin Liska's avatar
      lto-plugin: make claim_file_handler thread-safe · 2669cae0
      Martin Liska authored
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (plugin_lock): New lock.
      	(claim_file_handler): Use mutex for critical section.
      	(onload): Initialize mutex.
      	* configure.ac: Check for pthread.h.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      2669cae0
  9. Jun 21, 2022
  10. Jun 20, 2022
    • Martin Liska's avatar
      lto-plugin: support LDPT_GET_SYMBOLS_V3 · c56f7983
      Martin Liska authored
      That supports skipping of an object file (LDPS_NO_SYMS).
      
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (struct plugin_file_info): Add skip_file flag.
      	(write_resolution): Write resolution only if get_symbols != LDPS_NO_SYMS.
      	(all_symbols_read_handler): Ignore file if skip_file is true.
      	(onload): Handle LDPT_GET_SYMBOLS_V3.
      c56f7983
  11. May 05, 2022
  12. May 04, 2022
    • Martin Liska's avatar
      LTO plugin: modernize a bit. · c4ae1758
      Martin Liska authored
      include/ChangeLog:
      
      	* plugin-api.h (enum ld_plugin_tag): Do not set implicit enum
      	values.
      
      lto-plugin/ChangeLog:
      
      	* lto-plugin.c (struct plugin_objfile): Use bool for offset
      	field.
      	(exec_lto_wrapper): Assign true/false to bool variables.
      	(process_offload_section): Likewise.
      	(claim_file_handler): Likewise.
      	(onload): Likewise.
      c4ae1758
  13. Mar 23, 2022
  14. Mar 22, 2022
    • Jakub Jelinek's avatar
      lto-plugin: Use GNU ld or Solaris ld version script in preference to... · 6ee58926
      Jakub Jelinek authored
      lto-plugin: Use GNU ld or Solaris ld version script in preference to -export-symbols-regex [PR102426]
      
      As reported, libtool -export-symbols-regex doesn't work on Solaris
      when using GNU ld instead of Sun ld, libtool just always assumes Sun ld.
      As I'm unsure what is the maintainance status of libtool right now,
      this patch solves it on the lto-plugin side instead, tests at configure time
      similar way how libssp and other target libraries test for symbol versioning
      (except omitting the symbol version because we just want one GLOBAL symbol
      and rest of them LOCAL), and will use the current way of
      -export-symbols-regex onload as fallback when this doesn't work.
      
      2022-03-22  Jakub Jelinek  <jakub@redhat.com>
      
      	PR lto/102426
      lto-plugin/
      	* configure.ac (LTO_PLUGIN_USE_SYMVER, LTO_PLUGIN_USE_SYMVER_GNU,
      	LTO_PLUGIN_USE_SYMVER_SUN): New test for symbol versioning support.
      	* Makefile.am (version_arg, version_dep): Set conditionally based
      	on LTO_PLUGIN_USE_SYMVER*.
      	(liblto_plugin_la_LDFLAGS): Use $(version_arg) instead of
      	-export-symbols-regex onload.
      	(liblto_plugin_la_DEPENDENCIES): Depend on $(version_dep).
      	* lto-plugin.map: New file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      6ee58926
  15. Mar 12, 2022
  16. Mar 11, 2022
  17. Mar 02, 2022
  18. Mar 01, 2022
  19. Jan 03, 2022
  20. Dec 03, 2021
  21. 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
  22. Sep 14, 2021
  23. 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
  24. Jun 26, 2021
  25. 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
  26. May 11, 2021
  27. 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
  28. May 04, 2021
  29. 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
  30. Apr 22, 2021
  31. 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
  32. Jan 06, 2021
  33. 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
  34. Jan 04, 2021
  35. Nov 30, 2020
  36. 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
  37. Nov 26, 2020
  38. 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
  39. Sep 11, 2020
  40. 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
Loading