aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorAndris Pavenis <andris.pavenis@iki.fi>2015-11-13 08:39:49 +0200
committerJeff Law <law@gcc.gnu.org>2015-11-12 23:39:49 -0700
commitd93861237f5136949e6c80a65439aa796e2af224 (patch)
tree041b76d1c5100a6eb663d739b68cde8ee67a7d92 /gcc/gcc.c
parent93ebf1fdbe35eadc5e54934061a7a4d7bcdc8262 (diff)
downloadgcc-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 6fceca2..7b1fd57 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -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", &lto_wrapper_spec),
INIT_STATIC_SPEC ("lto_gcc", &lto_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),