diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2014-06-26 09:16:19 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2014-06-26 09:16:19 +0000 |
commit | 608508a67719de05d2144200325662bda7204adc (patch) | |
tree | f0d0a3f3ffbbb64530f9c1a1a860983cd9984b28 /gcc | |
parent | a185856a06e7b26a06229563b2b01b92e6a4589b (diff) |
Small cleanups before making collect2 use collect-utils.
* collect-utils.c (save_temps): New variable.
(do_wait): Use it instead of debug. Use fatal_error.
* collect-utils.h (save_temps): Declare.
* collect2.c (verbose): Rename from vflag. All uses changed.
(tool_cleanup): New function, copied from collect_atexit.
(collect_atexit, handler): Just call it.
* collect2.h (verbose): Declaration renamed from vflag.
* lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
debug.
From-SVN: r212019
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/collect-utils.c | 8 | ||||
-rw-r--r-- | gcc/collect-utils.h | 1 | ||||
-rw-r--r-- | gcc/collect2.c | 70 | ||||
-rw-r--r-- | gcc/collect2.h | 2 | ||||
-rw-r--r-- | gcc/lto-wrapper.c | 8 | ||||
-rw-r--r-- | gcc/tlink.c | 2 |
7 files changed, 46 insertions, 55 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e1ff3fa71d..edcc34179c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 2014-06-26 Bernd Schmidt <bernds@codesourcery.com> + * collect-utils.c (save_temps): New variable. + (do_wait): Use it instead of debug. Use fatal_error. + * collect-utils.h (save_temps): Declare. + * collect2.c (verbose): Rename from vflag. All uses changed. + (tool_cleanup): New function, copied from collect_atexit. + (collect_atexit, handler): Just call it. + * collect2.h (verbose): Declaration renamed from vflag. + * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of + debug. + * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o. (lto-wrapper$(exeext)): Link with collect-utils.o. * collect-utils.c: New file. diff --git a/gcc/collect-utils.c b/gcc/collect-utils.c index 004569c9957..e92513c18a3 100644 --- a/gcc/collect-utils.c +++ b/gcc/collect-utils.c @@ -33,6 +33,7 @@ static char *response_file; bool debug; bool verbose; +bool save_temps; /* Delete tempfiles. */ @@ -159,12 +160,9 @@ do_wait (const char *prog, struct pex_obj *pex) { int ret = collect_wait (prog, pex); if (ret != 0) - { - error ("%s returned %d exit status", prog, ret); - exit (ret); - } + fatal_error ("%s returned %d exit status", prog, ret); - if (response_file && !debug) + if (response_file && !save_temps) { unlink (response_file); response_file = NULL; diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h index e47ab294c16..46c116001c9 100644 --- a/gcc/collect-utils.h +++ b/gcc/collect-utils.h @@ -30,6 +30,7 @@ extern void utils_cleanup (void); extern bool debug; extern bool verbose; +extern bool save_temps; /* Provided by the tool itself. */ diff --git a/gcc/collect2.c b/gcc/collect2.c index ec8f7332ea0..5de1bb38fd3 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -175,7 +175,7 @@ struct head int number; }; -bool vflag; /* true if -v or --version */ +bool verbose; /* true if -v or --version */ static int rflag; /* true if -r */ static int strip_flag; /* true if -s */ #ifdef COLLECT_EXPORT_LIST @@ -383,7 +383,7 @@ static void scan_prog_file (const char *, scanpass, scanfilter); /* Delete tempfiles and exit function. */ static void -collect_atexit (void) +tool_cleanup (bool from_signal) { if (c_file != 0 && c_file[0]) maybe_unlink (c_file); @@ -401,20 +401,33 @@ collect_atexit (void) if (ldout != 0 && ldout[0]) { - dump_ld_file (ldout, stdout); + if (!from_signal) + dump_ld_file (ldout, stdout); maybe_unlink (ldout); } if (lderrout != 0 && lderrout[0]) { - dump_ld_file (lderrout, stderr); + if (!from_signal) + dump_ld_file (lderrout, stderr); maybe_unlink (lderrout); } +} - if (response_file) - maybe_unlink (response_file); +static void +collect_atexit (void) +{ + tool_cleanup (false); } +static void +handler (int signo) +{ + tool_cleanup (true); + + signal (signo, SIG_DFL); + raise (signo); +} /* Notify user of a non-error. */ void @@ -438,37 +451,6 @@ notice_translated (const char *cmsgid, ...) va_end (ap); } -static void -handler (int signo) -{ - if (c_file != 0 && c_file[0]) - maybe_unlink (c_file); - - if (o_file != 0 && o_file[0]) - maybe_unlink (o_file); - - if (ldout != 0 && ldout[0]) - maybe_unlink (ldout); - - if (lderrout != 0 && lderrout[0]) - maybe_unlink (lderrout); - -#ifdef COLLECT_EXPORT_LIST - if (export_file != 0 && export_file[0]) - maybe_unlink (export_file); -#endif - - if (lto_o_files) - maybe_unlink_list (lto_o_files); - - if (response_file) - maybe_unlink (response_file); - - signal (signo, SIG_DFL); - raise (signo); -} - - int file_exists (const char *name) { @@ -1056,7 +1038,7 @@ main (int argc, char **argv) aixlazy_flag = 1; #endif } - vflag = debug; + verbose = debug; find_file_set_debug (debug); if (use_plugin) lto_mode = LTO_MODE_NONE; @@ -1451,7 +1433,7 @@ main (int argc, char **argv) case 'v': if (arg[2] == '\0') - vflag = true; + verbose = true; break; case '-': @@ -1483,7 +1465,7 @@ main (int argc, char **argv) else if (strncmp (arg, "--sysroot=", 10) == 0) target_system_root = arg + 10; else if (strcmp (arg, "--version") == 0) - vflag = true; + verbose = true; else if (strcmp (arg, "--help") == 0) helpflag = true; break; @@ -1578,7 +1560,7 @@ main (int argc, char **argv) *c_ptr++ = c_file; *c_ptr = *ld1 = *object = (char *) 0; - if (vflag) + if (verbose) notice ("collect2 version %s\n", version_string); if (helpflag) @@ -1947,7 +1929,7 @@ collect_execute (const char *prog, char **argv, const char *outname, argv = response_argv; } - if (vflag || debug) + if (verbose || debug) { char **p_argv; const char *str; @@ -2509,7 +2491,7 @@ scan_prog_file (const char *prog_name, scanpass which_pass, nm_argv[argc++] = (char *) 0; /* Trace if needed. */ - if (vflag) + if (verbose) { const char **p_argv; const char *str; @@ -2706,7 +2688,7 @@ scan_libraries (const char *prog_name) ldd_argv[argc++] = (char *) 0; /* Trace if needed. */ - if (vflag) + if (verbose) { const char **p_argv; const char *str; diff --git a/gcc/collect2.h b/gcc/collect2.h index bbfd6761caa..344ad86376f 100644 --- a/gcc/collect2.h +++ b/gcc/collect2.h @@ -36,7 +36,7 @@ extern const char *lderrout; extern const char *c_file_name; extern struct obstack temporary_obstack; extern char *temporary_firstobj; -extern bool vflag, debug; +extern bool verbose, debug; extern bool may_unlink_output_file; extern void notice_translated (const char *, ...) ATTRIBUTE_PRINTF_1; diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index 45ce32157c8..49f08952d48 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -99,7 +99,7 @@ lto_wrapper_cleanup (void) void maybe_unlink (const char *file) { - if (! debug) + if (!save_temps) { if (unlink_if_ordinary (file) && errno != ENOENT) @@ -540,7 +540,7 @@ run_gcc (unsigned argc, char *argv[]) continue; case OPT_save_temps: - debug = 1; + save_temps = 1; break; case OPT_v: @@ -647,7 +647,7 @@ run_gcc (unsigned argc, char *argv[]) obstack_ptr_grow (&argv_obstack, dumpbase); } - if (linker_output && debug) + if (linker_output && save_temps) { ltrans_output_file = (char *) xmalloc (strlen (linker_output) + sizeof (".ltrans.out") + 1); @@ -785,7 +785,7 @@ cont: /* If we are not preserving the ltrans input files then truncate them as soon as we have processed it. This reduces temporary disk-space usage. */ - if (! debug) + if (! save_temps) fprintf (mstream, "\t@-touch -r %s %s.tem > /dev/null 2>&1 " "&& mv %s.tem %s\n", input_name, input_name, input_name, input_name); diff --git a/gcc/tlink.c b/gcc/tlink.c index bc358b88faf..addea61fdb4 100644 --- a/gcc/tlink.c +++ b/gcc/tlink.c @@ -275,7 +275,7 @@ tlink_init (void) else { tlink_verbose = 1; - if (vflag) + if (verbose) tlink_verbose = 2; if (debug) tlink_verbose = 3; |