<html lang="en">
<head>
<title>Config Names - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Installing-GDB.html#Installing-GDB" title="Installing GDB">
<link rel="prev" href="Separate-Objdir.html#Separate-Objdir" title="Separate Objdir">
<link rel="next" href="Configure-Options.html#Configure-Options" title="Configure Options">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Config-Names"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Configure-Options.html#Configure-Options">Configure Options</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Separate-Objdir.html#Separate-Objdir">Separate Objdir</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Installing-GDB.html#Installing-GDB">Installing GDB</a>
<hr>
</div>

<h3 class="section">C.4 Specifying Names for Hosts and Targets</h3>

<p>The specifications used for hosts and targets in the <samp><span class="file">configure</span></samp>
script are based on a three-part naming scheme, but some short predefined
aliases are also supported.  The full naming scheme encodes three pieces
of information in the following pattern:

<pre class="smallexample">     <var>architecture</var>-<var>vendor</var>-<var>os</var>
</pre>
   <p>For example, you can use the alias <code>sun4</code> as a <var>host</var> argument,
or as the value for <var>target</var> in a <code>--target=</code><var>target</var>
option.  The equivalent full name is &lsquo;<samp><span class="samp">sparc-sun-sunos4</span></samp>&rsquo;.

   <p>The <samp><span class="file">configure</span></samp> script accompanying <span class="sc">gdb</span> does not provide
any query facility to list all supported host and target names or
aliases.  <samp><span class="file">configure</span></samp> calls the Bourne shell script
<code>config.sub</code> to map abbreviations to full names; you can read the
script, if you wish, or you can use it to test your guesses on
abbreviations&mdash;for example:

<pre class="smallexample">     % sh config.sub i386-linux
     i386-pc-linux-gnu
     % sh config.sub alpha-linux
     alpha-unknown-linux-gnu
     % sh config.sub hp9k700
     hppa1.1-hp-hpux
     % sh config.sub sun4
     sparc-sun-sunos4.1.1
     % sh config.sub sun3
     m68k-sun-sunos4.1.1
     % sh config.sub i986v
     Invalid configuration `i986v': machine `i986v' not recognized
</pre>
   <p class="noindent"><code>config.sub</code> is also distributed in the <span class="sc">gdb</span> source
directory (<samp><span class="file">gdb-8.3.0.20190709-git</span></samp>, for version 8.3.0.20190709-git).

   </body></html>

