From patchwork Wed Sep 30 16:51:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 524487 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 56EB3140D4D for ; Thu, 1 Oct 2015 02:52:04 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=u8/dhscj; 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=dlcG8wl8cgLr7/qZ XmyV5h7H8coer5q6zoKOu0qJBzZTcWQWDWBdUkZNr0Nr4ZGYXTHqi4kq9PAJl16O H04B/narf6yK2UA4hFY185roXbedzZ8UMhTvqDR34FNWRePQURoOLY/GiBpop+zc wlvq0ENMAdQw1HrJ3Kd8M/hE1FM= 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=MKtua52hNrKGq4LenrrECW EGC7I=; b=u8/dhscjKvrz4nb0YVpGu40QayueiMnmKC92SAx+yaPsCjR5+lt2tq ti5iP3reiT9mKPEBPVL4vxP6RmH8aV7JXpzrmnSPokTMjIUYxvTE+167RqcelKgL kMM13ZailpEx/g45TgBE156Q0bnKUDMLRczyHqOTNTyAJ7j3bNjyY= Received: (qmail 126933 invoked by alias); 30 Sep 2015 16:51:57 -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 126923 invoked by uid 89); 30 Sep 2015 16:51:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS, UNSUBSCRIBE_BODY autolearn=no 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; Wed, 30 Sep 2015 16:51:55 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZhKbf-000352-UZ from Thomas_Schwinge@mentor.com ; Wed, 30 Sep 2015 09:51:52 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.3.224.2; Wed, 30 Sep 2015 17:51:50 +0100 From: Thomas Schwinge To: Bernd Schmidt , Richard Biener , Jakub Jelinek , GCC Patches CC: Nathan Sidwell , Ilya Verbin Subject: Re: lto wrapper verboseness In-Reply-To: <56091529.5080008@redhat.com> References: <55B95C2F.8020606@acm.org> <87k2rbue8g.fsf@kepler.schwinge.homeip.net> <56091529.5080008@redhat.com> User-Agent: Notmuch/0.9-125-g4686d11 (http://notmuchmail.org) Emacs/24.5.1 (i586-pc-linux-gnu) Date: Wed, 30 Sep 2015 18:51:42 +0200 Message-ID: <87d1wzsvdt.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! On Mon, 28 Sep 2015 12:23:37 +0200, Bernd Schmidt wrote: > > > > 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? > > > > /* 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"; > > I'm not convinced we gain much by passing "-v" to objcopy, but I'll > leave that for the Intel folks to decide. Actually it may even be harmful if objcopy (and likewise, ld) write to stdout, and that disturbs the lto-wrapper usage of communication by listing object files on stdout (as I understand it)... So, I dropped that. > Other than that, ok if all argv arrays are constructed using obstacks. Thanks for the review. Committed in r228301: commit 74d66c731d39a1464a34ec790432d068215a246b Author: tschwinge Date: Wed Sep 30 16:42:32 2015 +0000 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228301 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/i386/intelmic-mkoffload.c | 10 ++++++++++ gcc/config/nvptx/mkoffload.c | 6 ++++++ gcc/lto-wrapper.c | 2 ++ 4 files changed, 28 insertions(+) Grüße, Thomas diff --git gcc/ChangeLog gcc/ChangeLog index 15f84ab..ba82953 100644 --- gcc/ChangeLog +++ gcc/ChangeLog @@ -1,4 +1,14 @@ 2015-09-30 Thomas Schwinge + + * 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. + +2015-09-30 Thomas Schwinge Ilya Verbin Andrey Turetskiy diff --git gcc/config/i386/intelmic-mkoffload.c gcc/config/i386/intelmic-mkoffload.c index ae88ecd..14f3fb3 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"); @@ -382,6 +386,8 @@ generate_host_descr_file (const char *host_compiler) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, host_compiler); + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-c"); obstack_ptr_grow (&argv_obstack, "-fPIC"); obstack_ptr_grow (&argv_obstack, "-shared"); @@ -428,6 +434,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"); @@ -560,6 +568,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 diff --git gcc/config/nvptx/mkoffload.c gcc/config/nvptx/mkoffload.c index fe0e8cd..99c0254 100644 --- gcc/config/nvptx/mkoffload.c +++ gcc/config/nvptx/mkoffload.c @@ -925,6 +925,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: @@ -1028,11 +1030,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);