This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [libcc1] Improve detection of triplet on compiler names
- From: Pedro Alves <palves at redhat dot com>
- To: Sergio Durigan Junior <sergiodj at redhat dot com>
- Cc: GDB Patches <gdb-patches at sourceware dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Tom Tromey <tom at tromey dot com>, Keith Seitz <keiths at redhat dot com>, Phil Muldoon <pmuldoon at redhat dot com>, Alexandre Oliva <aoliva at redhat dot com>
- Date: Wed, 23 Aug 2017 14:14:52 +0100
- Subject: Re: [libcc1] Improve detection of triplet on compiler names
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=palves at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 879797E454
- References: <87mv6qhq9u.fsf@redhat.com> <74900a91-685b-2bdc-6cb7-8333ce9c5d0a@redhat.com> <87a82qh1pn.fsf@redhat.com>
On 08/23/2017 02:07 PM, Sergio Durigan Junior wrote:
> On Wednesday, August 23 2017, Pedro Alves wrote:
>
>> On 08/23/2017 05:17 AM, Sergio Durigan Junior wrote:
>>> 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.
>>
>> Is there a backward/forward compatibility impact?
>
> Unfortunately, yes.
>
>> Does new GDB work with old GCC?
>
> No. On Fedora systems, you would get:
>
> Could not find a compiler matching "^(x86_64|i.86)(-[^-]*)?-linux(-gnu)?--gcc$"
>
That's a problem then. Please read this:
https://sourceware.org/gdb/wiki/GCCCompileAndExecute#How_to_extend_the_gdb.2BAC8-gcc_interface
> As can be seen, these failures are now happening because of the trailing
> dash that is now included in the triplet regexp by GDB. I don't know if
> that warrants a change in the API, though.
Thanks,
Pedro Alves