diff options
author | Andris Pavenis <andris.pavenis@iki.fi> | 2015-11-13 08:39:49 +0200 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2015-11-12 23:39:49 -0700 |
commit | d93861237f5136949e6c80a65439aa796e2af224 (patch) | |
tree | 041b76d1c5100a6eb663d739b68cde8ee67a7d92 /gcc/gcc.c | |
parent | 93ebf1fdbe35eadc5e54934061a7a4d7bcdc8262 (diff) | |
download | gcc-d93861237f5136949e6c80a65439aa796e2af224.zip gcc-d93861237f5136949e6c80a65439aa796e2af224.tar.gz gcc-d93861237f5136949e6c80a65439aa796e2af224.tar.bz2 |
[PATCH] gcc.c: new macro POST_LINK_SPECS to be able to add additional
steps after linking
* gcc.c (POST_LINK_SPEC): Define if not already defined.
(LINK_COMMAND_SPEC): Use post_link.
(post_link_spec): New, initialize to POST_LINK_SPEC.
(post_link): Initialize new static spec.
* doc/tm.texi.in (POST_LINK_SPEC): Document.
* doc/tm.texi: Regenerated.
From-SVN: r230287
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -980,6 +980,10 @@ proper position among the other output files. */ %{%:sanitize(leak):" LIBLSAN_SPEC "}}}" #endif +#ifndef POST_LINK_SPEC +#define POST_LINK_SPEC "" +#endif + /* This is the spec to use, once the code for creating the vtable verification runtime library, libvtv.so, has been created. Currently the vtable verification runtime functions are in libstdc++, so we use @@ -1022,7 +1026,7 @@ proper position among the other output files. */ %(mflib) " STACK_SPLIT_SPEC "\ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ - %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}" + %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}" #endif #ifndef LINK_LIBGCC_SPEC @@ -1064,6 +1068,7 @@ static const char *linker_name_spec = LINKER_NAME; static const char *linker_plugin_file_spec = ""; static const char *lto_wrapper_spec = ""; static const char *lto_gcc_spec = ""; +static const char *post_link_spec = POST_LINK_SPEC; static const char *link_command_spec = LINK_COMMAND_SPEC; static const char *link_libgcc_spec = LINK_LIBGCC_SPEC; static const char *startfile_prefix_spec = STARTFILE_PREFIX_SPEC; @@ -1572,6 +1577,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("linker_plugin_file", &linker_plugin_file_spec), INIT_STATIC_SPEC ("lto_wrapper", <o_wrapper_spec), INIT_STATIC_SPEC ("lto_gcc", <o_gcc_spec), + INIT_STATIC_SPEC ("post_link", &post_link_spec), INIT_STATIC_SPEC ("link_libgcc", &link_libgcc_spec), INIT_STATIC_SPEC ("md_exec_prefix", &md_exec_prefix), INIT_STATIC_SPEC ("md_startfile_prefix", &md_startfile_prefix), |