diff options
author | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2020-05-05 12:33:11 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2020-05-05 12:42:22 +0200 |
commit | 5269b24605b17211f34dd40df2d18ba7a7f481e2 (patch) | |
tree | 8837eee81dbd7ff67d62c12f8dacc61f95c4995f /gcc/gcc.c | |
parent | 2badc9885330b56dfabb49328c42de792bc67b1e (diff) | |
download | gcc-5269b24605b17211f34dd40df2d18ba7a7f481e2.zip gcc-5269b24605b17211f34dd40df2d18ba7a7f481e2.tar.gz gcc-5269b24605b17211f34dd40df2d18ba7a7f481e2.tar.bz2 |
Silence warning in LTO mode on VxWorks
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.
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -944,6 +944,10 @@ proper position among the other output files. */ # endif #endif +#ifndef LTO_PLUGIN_SPEC +#define LTO_PLUGIN_SPEC "" +#endif + /* Conditional to test whether the LTO plugin is used or not. FIXME: For slim LTO we will need to enable plugin unconditionally. This still cause problems with PLUGIN_LD != LD and when plugin is built but @@ -968,6 +972,7 @@ proper position among the other output files. */ -plugin %(linker_plugin_file) \ -plugin-opt=%(lto_wrapper) \ -plugin-opt=-fresolution=%u.res \ + " LTO_PLUGIN_SPEC "\ %{flinker-output=*:-plugin-opt=-linker-output-known} \ %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} \ }" PLUGIN_COND_CLOSE |