From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 91129 invoked by alias); 23 Aug 2017 04:17:05 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 91102 invoked by uid 89); 23 Aug 2017 04:17:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=HX-Greylist:Wed X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 23 Aug 2017 04:17:03 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 29E9837EEC; Wed, 23 Aug 2017 04:17:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 29E9837EEC Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=sergiodj@redhat.com Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CAA7B600C6; Wed, 23 Aug 2017 04:17:01 +0000 (UTC) From: Sergio Durigan Junior To: GDB Patches , GCC Patches Cc: Tom Tromey , Keith Seitz , Phil Muldoon , Alexandre Oliva Subject: [libcc1] Improve detection of triplet on compiler names X-URL: https://sergiodj.net Date: Wed, 23 Aug 2017 04:17:00 -0000 Message-ID: <87mv6qhq9u.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2017-08/txt/msg00428.txt.bz2 Hi there, This is a series of two patches, one for GDB and one for GCC, which aims to improve the detection and handling of triplets present on compiler names. The motivation for this series was mostly the fact that GDB's "compile" command is broken on Debian unstable, as can be seen here: The reason for the failure is the fact that Debian compiles GCC using the --program-{prefix,suffix} options from configure in order to name the compiler using the full triplet (i.e., Debian's GCC is not merely named "gcc", but e.g. "x86_64-linux-gnu-gcc-7"), which end up naming the C_COMPILER_NAME and CP_COMPILER_NAME defines with the specified prefix and suffix. Therefore, the regexp being used to match the compiler name is wrong because it doesn't take into account the fact that the defines may already contain the triplets. The GCC patch improves the libcc1::compiler_triplet_regexp::find and libcp1::compiler_triplet_regexp::find methods by first trying to match the triplet in the compiler name and correctly discarding the triplet part of the regexp if the matching succeeds. I've had to do a few modifications on the way the regexp's are built, but I'll explain them in the patch itself. The GDB patch is very simple: it adds the trailing "-" in the triplet regexp. Therefore, we will have a regexp that truly matches the full triplet (e.g., "^(x86_64|i.86)(-[^-]*)?-linux(-gnu)?-") instead of one that leaves the trailing "-" match to libcc1. I've tested this patch both on my Fedora and my Debian machines, and both now work as expected, independently of the presence of the triplet string in the compiler name. I am sorry about the cross-post, but these patches are really dependent on one another. Thanks, -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/