Hi! On Thu, 30 Jul 2015 10:09:05 +0200, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Jul 30, 2015 at 1:05 AM, Nathan Sidwell <nat...@acm.org> wrote: > > Jakub, > > this patch augments the lto wrapper to print out the arguments to spawned > > commands when verbose. I found this useful in debugging recent development. > > > > ok for trunk? > > Err - fork_execute through collect_execute already does this if > verbose || debug. > > So better figure out why this doesn't work.
We need to pass on the verbose flag. I once came up with the following patch (depends on "Refactor intelmic-mkoffload.c argv building", <http://news.gmane.org/find-root.php?message_id=%3C87r3ljuez8.fsf%40kepler.schwinge.homeip.net%3E>); OK for trunk? commit ad0b6608cff22b62b73016c91c74b21a168acb46 Author: Thomas Schwinge <tho...@codesourcery.com> Date: Tue Aug 4 14:08:23 2015 +0200 Pass on the verbose flag "-v" to/in the mkoffloads gcc/ * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag. (generate_target_descr_file, generate_target_offloadend_file) (generate_host_descr_file, prepare_target_image, main): Pass it on. * config/nvptx/mkoffload.c (main): Parse "-v" flag. (compile_native, main): Pass it on. * lto-wrapper.c (compile_offload_image): Likewise. --- gcc/config/i386/intelmic-mkoffload.c | 24 +++++++++++++++++++++--- gcc/config/nvptx/mkoffload.c | 6 ++++++ gcc/lto-wrapper.c | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git gcc/config/i386/intelmic-mkoffload.c gcc/config/i386/intelmic-mkoffload.c index 8d5af0d..ae1bde0 100644 --- gcc/config/i386/intelmic-mkoffload.c +++ gcc/config/i386/intelmic-mkoffload.c @@ -281,6 +281,8 @@ generate_target_descr_file (const char *target_compiler) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, target_compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-c"); obstack_ptr_grow (&argv_obstack, "-shared"); obstack_ptr_grow (&argv_obstack, "-fPIC"); @@ -319,6 +321,8 @@ generate_target_offloadend_file (const char *target_compiler) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, target_compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-c"); obstack_ptr_grow (&argv_obstack, "-shared"); obstack_ptr_grow (&argv_obstack, "-fPIC"); @@ -380,9 +384,11 @@ generate_host_descr_file (const char *host_compiler) fclose (src_file); unsigned new_argc = 0; -#define NEW_ARGC_MAX 9 +#define NEW_ARGC_MAX 10 const char *new_argv[NEW_ARGC_MAX]; new_argv[new_argc++] = host_compiler; + if (verbose) + new_argv[new_argc++] = "-v"; new_argv[new_argc++] = "-c"; new_argv[new_argc++] = "-fPIC"; new_argv[new_argc++] = "-shared"; @@ -429,6 +435,8 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, target_compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-xlto"); obstack_ptr_grow (&argv_obstack, "-shared"); obstack_ptr_grow (&argv_obstack, "-fPIC"); @@ -448,7 +456,7 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) compile_for_target (&argv_obstack); unsigned objcopy_argc; -#define OBJCOPY_ARGC_MAX 11 +#define OBJCOPY_ARGC_MAX 12 const char *objcopy_argv[OBJCOPY_ARGC_MAX]; /* Run objcopy. */ @@ -457,6 +465,8 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) sprintf (rename_section_opt, ".data=%s", image_section_name); objcopy_argc = 0; objcopy_argv[objcopy_argc++] = "objcopy"; + if (verbose) + objcopy_argv[objcopy_argc++] = "-v"; objcopy_argv[objcopy_argc++] = "-B"; objcopy_argv[objcopy_argc++] = "i386"; objcopy_argv[objcopy_argc++] = "-I"; @@ -510,6 +520,8 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) objcopy_argc = 0; objcopy_argv[objcopy_argc++] = "objcopy"; + if (verbose) + objcopy_argv[objcopy_argc++] = "-v"; objcopy_argv[objcopy_argc++] = target_so_filename; objcopy_argv[objcopy_argc++] = "--redefine-sym"; objcopy_argv[objcopy_argc++] = opt_for_objcopy[0]; @@ -565,6 +577,8 @@ main (int argc, char **argv) "unrecognizable argument of option " STR); } #undef STR + else if (strcmp (argv[i], "-v") == 0) + verbose = true; } const char *target_so_filename @@ -573,13 +587,15 @@ main (int argc, char **argv) const char *host_descr_filename = generate_host_descr_file (host_compiler); unsigned new_argc; -#define NEW_ARGC_MAX 9 +#define NEW_ARGC_MAX 10 const char *new_argv[NEW_ARGC_MAX]; /* Perform partial linking for the target image and host side descriptor. As a result we'll get a finalized object file with all offload data. */ new_argc = 0; new_argv[new_argc++] = "ld"; + if (verbose) + new_argv[new_argc++] = "-v"; new_argv[new_argc++] = "-m"; switch (offload_abi) { @@ -605,6 +621,8 @@ main (int argc, char **argv) to avoid conflicting between different DSO and an executable. */ new_argc = 0; new_argv[new_argc++] = "objcopy"; + if (verbose) + new_argv[new_argc++] = "-v"; new_argv[new_argc++] = "-L"; new_argv[new_argc++] = symbols[0]; new_argv[new_argc++] = "-L"; diff --git gcc/config/nvptx/mkoffload.c gcc/config/nvptx/mkoffload.c index 78ac8fe..eed099f 100644 --- gcc/config/nvptx/mkoffload.c +++ gcc/config/nvptx/mkoffload.c @@ -919,6 +919,8 @@ compile_native (const char *infile, const char *outfile, const char *compiler) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); switch (offload_abi) { case OFFLOAD_ABI_LP64: @@ -1022,11 +1024,15 @@ main (int argc, char **argv) "unrecognizable argument of option " STR); } #undef STR + else if (strcmp (argv[i], "-v") == 0) + verbose = true; } struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, driver); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-xlto"); switch (offload_abi) { diff --git gcc/lto-wrapper.c gcc/lto-wrapper.c index e13a82a..f932758 100644 --- gcc/lto-wrapper.c +++ gcc/lto-wrapper.c @@ -685,6 +685,8 @@ compile_offload_image (const char *target, const char *compiler_path, struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-o"); obstack_ptr_grow (&argv_obstack, filename); Grüße, Thomas
signature.asc
Description: PGP signature