From patchwork Mon Sep 28 08:42:23 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 523263 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 299D914017E for ; Mon, 28 Sep 2015 18:42:45 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=rNsZgHp6; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; q=dns; s=default; b=ACNgSl35SpIE2QQ5 ykox6jiMOy6yeTkbknbrO4ujiD77EmiajzDEzSevXgrCnHIikWGKyFTcS3UgA2We oizTkO9gugYqiibJRLLtSqnghLVbZawUC3OcRqtvFUzY1oE2M2FemoCSbXDCbvaH Ss1irWdhjggqOSNyDO4uLWCpbSA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; s=default; bh=7U0cz0B3nxYAFfZnELUdyM PwA9s=; b=rNsZgHp6u1CD4mdm/fqMNDcXoRg7YfXG7/gRDLPXEvxzptsn9NwESD vhGPHUjOd/mTNzNkOF3ljKzbDh+ImsUD13QFYozUE7VfVjoZnBYp2anWHhsDo8v5 tDNVENk0Gc+MXvIZqdigjGLRNjtClTpSPktDkhr/G6J2qBzO14w9k= Received: (qmail 22535 invoked by alias); 28 Sep 2015 08:42:37 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 22524 invoked by uid 89); 28 Sep 2015 08:42:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 28 Sep 2015 08:42:34 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-02.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZgU10-00063H-42 from Thomas_Schwinge@mentor.com ; Mon, 28 Sep 2015 01:42:30 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.3.224.2; Mon, 28 Sep 2015 09:42:28 +0100 From: Thomas Schwinge To: Richard Biener , Jakub Jelinek , GCC Patches CC: Nathan Sidwell , Bernd Schmidt , Ilya Verbin Subject: Re: lto wrapper verboseness In-Reply-To: References: <55B95C2F.8020606@acm.org> User-Agent: Notmuch/0.9-125-g4686d11 (http://notmuchmail.org) Emacs/24.5.1 (i586-pc-linux-gnu) Date: Mon, 28 Sep 2015 10:42:23 +0200 Message-ID: <87k2rbue8g.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! On Thu, 30 Jul 2015 10:09:05 +0200, Richard Biener wrote: > On Thu, Jul 30, 2015 at 1:05 AM, Nathan Sidwell 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", ); OK for trunk? commit ad0b6608cff22b62b73016c91c74b21a168acb46 Author: Thomas Schwinge 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(-) Grüße, Thomas 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);