public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [libcc1] Improve detection of triplet on compiler names
@ 2017-08-23  5:17 Sergio Durigan Junior
  2017-08-23  6:13 ` [PATCH 1/2] [GCC] Improve regexp handling on libc[cp]1::compiler_triplet_regexp::find Sergio Durigan Junior
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Sergio Durigan Junior @ 2017-08-23  5:17 UTC (permalink / raw)
  To: GDB Patches, GCC Patches
  Cc: Tom Tromey, Keith Seitz, Phil Muldoon, Alexandre Oliva

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:

  <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851146>

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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-11-16 18:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-23  5:17 [libcc1] Improve detection of triplet on compiler names Sergio Durigan Junior
2017-08-23  6:13 ` [PATCH 1/2] [GCC] Improve regexp handling on libc[cp]1::compiler_triplet_regexp::find Sergio Durigan Junior
2017-08-23  7:37 ` [PATCH 2/2] [GDB] Add trailing dash on triplet regexp Sergio Durigan Junior
2017-08-23  9:49 ` [libcc1] Improve detection of triplet on compiler names Pedro Alves
2017-08-23 13:28   ` Sergio Durigan Junior
2017-08-23 13:29     ` Pedro Alves
2017-08-23 13:43       ` Sergio Durigan Junior
2017-08-23 19:40 ` Pedro Alves
2017-08-23 19:42   ` Sergio Durigan Junior
2017-09-01 18:33   ` [PATCH v2] [libcc1] Rename C{,P}_COMPILER_NAME and remove triplet from them Sergio Durigan Junior
2017-09-15  4:12     ` Sergio Durigan Junior
2017-09-26 16:53       ` Sergio Durigan Junior
2017-11-13 21:45         ` Sergio Durigan Junior
2017-11-15  6:26           ` Alexandre Oliva
2017-11-16  1:20           ` Jim Wilson
2017-11-16  5:52             ` Sergio Durigan Junior
2017-11-16 18:29               ` Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).