GNUPro Toolkit Documentation|Contents|Index|Previous|Next
Cygnus and GNUPro Toolkit fundamentals   
The following documentation introduces the fundamentals of the GNUPro tools.
Cygnus is the leading provider of single-source, UNIX, and NT desktop and cross-platform development tools for 32- and 64-bit microcontrollers. Cygnus provides GNUPro Toolkit as a set of powerful, multi-platform software development tools for advanced desktop and embedded systems. For more details, see What's in this package.

For information on what's supported, see the following documentation.

Cygnus sells the GNUPro toolkit together with partner support services for rapid response and resolution of technical questions or problems, as well as regular software upgrades with enhancements. See also Red flag alerts & enhancements and, to report problems or to find out about problems, see How to report problems.

About Cygnus

Cygnus was founded as a company in 1989 to provide commercial support for open Internet technologies. Having established a support model for the GNU standard, leveraging the contributions of the net community and the requirements of the semiconductor industry, Cygnus has produced a powerful multi-platform software development toolkit. Its changes and improvements are returned to the net community with assoxciations to the Free Software Foundation, while the Cygnus implementation of the these tools is sold and supported directly by Cygnus. Driven by a unique business model, a consistent profitability and solid financial position have enabled rapid expansion of operations to support the growing needs of a loyal customer base.
 
Global in both operations and customer set, Cygnus has its headquarters in Sunnyvale, California, with additional offices in Cambridge, Massachusetts and Atlanta, Georgia in the United States; international offices are in Japan, the United Kingdom, Canada, and Germany. With historical roots and current strong ties with the Internet community, Cygnus leverages the global power of the Internet to drive innovation and recruits new engineers for broadening resources.

Pervasive computing

Cygnus also benefits from advances in all of the related technologies that make end-user solutions more cost-effective and drive end-user demand. These technologies include storage ( disk, flash, DRAM), display (LCD), Internet and communication protocols, and wireless connectivity. Collectively, advances in these technologies allow ever-greater embedding of intelligence in traditional embedded systems (telecommunications equipment, automobiles, office equipment), and enable completely new classes of computing devices such as Personal Digital Assistants (PDAs).

One thing is certain: software tools and software content for them must keep pace in order to realize the promise of powerful, distributed, and densely interconnected computing power. The Cygnus mission is to enable this vision of "pervasive computing" through software solutions.

Cygnus doesn't deliver technology for technology's sake. Our clients turn to us to create flexibility (with single-source solutions providing true multi-platform capabilities and easy retargeting), to shorten time-to-market (starting software development before hardware is ready), and to reduce costs (providing cost-effective support services and redistributable solutions).

These are the reasons that the best names in the business choose Cygnus.

The company strategy is to continue to extend the functionality and performance of the development tools, as well as to deliver innovative software component technologies for use in embedded systems. Customers include the world's top microcontroller companies as well as leading telecommunications software, game console, consumer electronics, and office equipment companies.

The world's leading product manufacturers choose the GNUPro toolkit for these benefits:

Cygnus offers contract engineering services to address a focused set of business problems, offering these services primarily through our Silicon Partners program, working directly with leading microcontroller companies to port GNUPro technology to the latest microcontroller architectures and targeted optimizations. Silicon Partners choose Cygnus because of the following reasons:
      • Shortening time to market by delivering software tools in parallel with hardware development
      • Having GNU compatibility, driving acceptance in the marketplace since GNU tools dominate the installed base of potential users, and since the single-source solution helps reduce customer risk
      • Providing joint marketing services
      • Offering access to advanced technologies such as NetTarget (which allows remote evaluation of hardware and software over the Internet)
      • Commiting to solid, professional engineering services under firm, fixed-price contracts
 What's in this package

GNUPro Toolkit includes a C/C++ compiler, a powerful source-level debugger with a graphical user interface, an assembler, a linker/loader, binary file utilities, and libraries. Complete source code, tested binaries, and product documentation accompany the tools. Not all tools are available for all platforms and operating systems. See Embedded cross-configuration support for specific information on your system. See What's in this package for information about the tools.

GNUPro software delivers productivity, flexibility, performance and portability with its ISO-conforming C and ISO-tracking C++ compiler, macro-assembler, GUI debugger, binary utilities and libraries.

See GNUPro Toolkit documentation for the discussion to which the following documentation refers for GNUPro Toolkit components.

See the following documentation for more about what GNUPro Toolkit contains.

Compilers and development tools

The following tools are the main tools for developing with GNUPro Toolkit.
 
gcc 
C compiler; 
See GNUPro Compiler Tools for details.
g++ 
C++ compiler; 
See GNUPro Compiler Tools for details.
gdb 
Debugger; 
See GNUPro Debugger Tools for details.
gas 
Assembler; 
See Using as in GNUPro Utilities for details.
cpp 
C Preprocessor; 
See GNUPro Compiler Tools for details.
ld 
Linker; 
See Using ld in GNUPro Utilities for details.
gdbtk
Debugger graphical user interface, a visual debugger known as Cygnus Insight TM (formerly known as GDBTk); see Working with Cygnus Insight, the visual debugger.

Libraries

See GNUPro Libraries for documentation regarding these libraries.
 
libc 
ANSI C runtime library ( only available for cross-development)
libm C math subroutine library ( only available for cross-development)
libio C++ iostreams library
libstdc++  C++ class library

Binary utilities

See GNUPro Utilities for documentation for the following utilities.
 
c++filt 
C++ symbol name deciphering utility
nm 
Lists object file symbol tables
objdump 
Displays object file information
size 
Lists section and total sizes
ar 
Manages object code archives
ranlib 
Generates archive index
strip 
Discards symbols
objcopy 
Copies and translates object files
addr2line Translates program addresses into file names and line numbers
windres Manipulates Windows resources

General utilities

See GNUPro Utilities and GNUPro Compiler Tools and the online documentation for clarification regarding the following utilities.
 
flex 
Fast lexical analyzer generator
make 
Compilation control program
diff, diff3, sdiff 
Compare text files
patch 
Installs source fixes
cmp 
Compares files byte-by-byte
gcov 
Coverage analyzer

GNUPro Toolkit documentation

GNUPro Toolkit includes documentation in three forms.

Documentation conventions

The documentation uses the following conventions for commands, filenames, and other program-specific subjects.
      The Ctrl key and the Meta key are often indicated in the text by C- and M-, respectively. In addition, Meta (or M-) may indicate, for example, the Alt key on a Windows keyboard, or a diamond-key on Unix keyboards.
      The Enter (carriage return) key on your keyboard may appear as ENTER or RET (for return) in text.
What's in the documentation

GNUPro Toolkit documentation includes the following documentation.

Using online documentation

For online use, the accompanying software includes online versions of the following documentation. This is not to be confused with the HTML versions.
    • man pages

    • For all the tools and programs in this release.
You have the freedom to copy the documentation using its accompanying copyright statements, which include the necessary permissions.

See Using info in GNUPro Utilities for documentation regarding the following tools.

 
Texinfo*, texindex, texi2dvi 
Documentation formatting tools
makeinfo, info 
Online documentation tools
 
 * Requires TEX, the technical documentation formatting tool

Reading online documentation

You can browse through the online documentation using either Emacs or the info documentation browser program, included in the GNUPro Toolkit. Online, the information is organized into nodes, corresponding to the sections of a printed book.

You can follow them in sequence, as in the printed books, or, using the hyperlinks, find the node that has the information you need. info has hot references; if one section refers to another section, you can have info take you immediately to that other section--and you can get back again easily to take up your reading where you had been. Naturally, you can also search for particular words or phrases.

The best way to get started with the online documentation system is to run the browser, info. After installing GNUPro Toolkit, you can get into info by just typing its name at your shell prompt (shown as % by the following example)--no options or arguments are necessary.
    % info
You may need to check that info is in your shell path after you install GNUPro Toolkit. If you have problems running info , contact your system administrator.

To learn how to use info , type h for a programmed instruction sequence, or Ctrl-h for a short summary of commands.

If at any time you are ready to stop using info , type q.

See Using info  in GNUPro Utilities for detailed discussion of the info program.

Using website documentation

As with all GNU software, the HTML source for documentation is available (or you can convert it yourself using publicly available utilities) if you wish to put them into an internal Web server.
 
Documentation is also available in HTML format (see GNUPro Toolkit documentation).
 
 Contact Cygnus to report any problems to the documentation department: doc@cygnus.com .

Native configurations support

GNUPro Toolkit software supports the following native configurations.
 
DEC Alpha Digital UNIX 4.0
HP 9000/700 HP-UX 10.01/10.10/10.20
IBM RS/6000 AIX 3.2.5/4.1.4
IBM PowerPC AIX 4.1.4/4.2
Linux RedHat 5.1 (i486)
SGI Iris 5.3/6.2
Sun SPARC Solaris 2.5.1/2.6
Sun SPARC SunOS 4.1.4
Windows NT4.0-sp3/95-osr2 *
 

* See also Cygwin: a free porting layer for Unix applications for details about using the GNUPro tools for developing programs in the Win32 environment.

Embedded cross-configuration support

GNUPro Toolkit software supports the embedded cross-configurations as detailed in Embedded cross-configurations supported.
 
    Note:
    In the following table, x denotes a version number range; for instance, with the HP-UX 10.x , the x denotes support for all the 10.01, 10.10 or 10.20 versions.

 Embedded cross-configurations supported

 
Host
Target
Output Format
HP-UX 10.x
PowerPC
ELF (EABI)
MIPS 64 VR5xxx ELF
SGI Irix 5.3/6.2 SH COFF
SPARC Solaris 2.5.1  ARM 7/7T COFF
  H8/300, H8/300H, H8S  COFF
i960
COFF
M68K
a.out, COFF, ELF *
MIPS VR4100
ELF
MIPS VR4300
ELF
MIPS VR5xxx ELF
MIPS LSI TinyRISC ELF
MIPS TX39 ELF
PowerPC
ELF
SH
COFF
SPARC ELF
SPARClet a.out
V85x ELF
x86 COFF, ELF
SPARC SunOS 4.1.4  D10V ELF
i960 COFF
M68K a.out, COFF
MIPS VR4100 ELF
MIPS VR4300 ELF
MIPS VR5xxx ELF
MIPS LSI TinyRISC ELF
MIPS TX39 ELF
PowerPC EABI
SH COFF
SPARC (MicroSPARC) ELF
V85x ELF
x86 COFF
Windows NT4.0/95 ** ARM 7/7T COFF
D10V ELF
H8/300, H8/300H, H8S COFF
i960 COFF
M68K COFF, ELF *
MIPS VR5xxx ELF
MIPS LSI TinyRISC ELF
MIPS TX39 ELF
PowerPC EABI
SH COFF
SPARC (MicroSPARC) ELF
V85x ELF
x86 COFF
 

* To use the Motorola "Coldfire" version as the configuration to target, see Motorola m68k development in GNUPro Tools for Embedded Systems.
**  See also Cygwin: a free porting layer for Unix applications for details about using the GNUPro tools for developing programs in the Win32 environment.

Version numbers for programs

Versions of the tools shows the current version numbers for individual programs in GNUPro Toolkit.

Versions of the tools

Program 
Version Numbers
bfd 
2.8-gnupro-98r2 
binutils 
2.9-gnupro-98r2 
diff 
2.7-gnupro-98r2 
expect 
5.23-gnupro-98r2 
flex 
2.5-gnupro-98r2 
gas 
2.9-gnupro-98r2 
gcc 
2.9-gnupro-98r2 
gcov 
1.5-gnupro-98r2 
gdb 
4.17-gnupro-98r2 
ld 
2.8-gnupro-98r2 
libstdc++ 
2.8-gnupro-98r2 
libio 
2.8-gnupro-98r2 
make 
3.75-gnupro-98r2 
makeinfo 
1.68-gnupro-98r2 
newlib/libc 
1.8-gnupro-98r2 
newlib/libm 
1.8-gnupro-98r2 
patch 
2.5-gnupro-98r2 

Naming hosts and targets

Your CD is labeled to indicate the host (and target, if applicable) for which the binaries in GNUPro Toolkit are configured. The specifications used for hosts and targets in the configure script are based on a three-part naming scheme, though the scheme is slightly different between hosts and targets.
The full naming scheme for hosts encodes three pieces of information in the following standard pattern.
    architecture-vendor-os
For instance, the full name for a Sun SPARCstation running SunOS 4.1.4 is sparc-sun-sunos4.1.4 .
 
     WARNING!
    configure can represent a very large number of combinations of architecture, vendor, and operating systems. Support is not possible for all combinations.
 

Host names

Table 5: Naming hosts shows the usage of canonical names for referring to the corresponding host platforms that Cygnus supports. For any questions about compatibility, contact Cygnus (see How to contact Cygnus).
Table 5: Naming hosts
Canonical name
Platform 
alpha-dec-osf4.0 
DEC Alpha Digital UNIX v4.0
hppa1.1-hp-hpux10 
HP 9000/700, HP-UX B.10.01
hppa1.1-hp-hpux10.20 
HP 9000/700, HP-UX B.10.20
hppa1.1-hp-hpux11 HP 9000/700, HP-UX B.11.0
i386-cygwin32 
Windows NT-sp3/95-osr2
i386-pc-linux-gnu 
Intel PC, Linux RedHat 5.1
mips-sgi-irix5 SGI Irix 5.3
mips-sgi-irix6 
SGI Irix 6.2
powerpc-ibm-aix4.1 
IBM PowerPC, AIX 4.1.4
powerpc-ibm-aix4.2 
IBM PowerPC, AIX 4.2.1
rs6000-ibm-aix4.1 
IBM PowerPC, AIX4.1.4
sparc-sun-solaris2.5 
SPARCstation, Solaris 2.5.1
sparc-sun-solaris2.6 
SPARCstation, Solaris 2.6
sparc-sun-sunos4.1 
SPARCstation, SunOS 4.1.4

Target names

The following tables list some of the more common targets supported by Cygnus. Not all targets have support on every host. See also Native configurations support and Embedded cross-configuration support for the matrices of the host/target combinations supported by Cygnus. Also, for more informaton on using particular tools and their targets, see GNUPro Tools for Embedded Systems.
 

    WARNING!
    configure can represent a very large number of target name combinations of architecture, vendor, and object formats. Support is not possible for all combinations.
 
H8/300 processor name and output format
h8300-hms 
COFF object code format
sh-hms COFF object code format
 
i960 processor names and output format
i960-coff 
MON960 monitor (COFF format)
 
M68K processor names and output formats
m68k-aout 
a.out object code format
m68k-coff 
COFF object code format
m68k-elf 
ELF object code format *
 

* To use the Motorola "Coldfire" version as the configuration to target, see Motorola m68k development in GNUPro Tools for Embedded Systems.
MIPS processor names and output formats
 mips64vr5xxx-elf
ELF object code format
mips-elf ELF object code format
mips-lsi-elf ELF object code format
mips-tx39-elf 
ELF object code format
 
 
PowerPC processor names and output formats
ppc-eabi 
ELF object code format (EABI)
SH processor name and output format
sh-hms-coff 
COFF object code format
 
SPARC processor names and output formats
sparc-aout
a.out object code format
sparc-coff
COFF object code format
sparc-elf ELF object code format
sparclet-aout a.out object code format
 
x86 processor names and output formats *
i386-aout 
a.out object code format
i386-coff COFF object code format
i386-elf 
ELF object code format
 
* See also Cygwin: a free porting layer for Unix applications for details about using the GNUPro tools for developing programs in the Win32 environment.

Using config.guess

config.guess is a shell script that attempts to deduce the host type from which it is called, using system commands like uname if they are available.
config.guess is remarkably adept at deciphering the proper configuration for your host; if you are building a tree to run on the same host on which you're building, we recommend not specifying the hosttype argument.
config.guess is called by configure ; you need never run it by hand, unless you're curious about the output.

Top|Contents|Index|Next
 
 
© 2005 Red Hat, Inc. All rights reserved.
About Red Hat  :  Legal statement  :  Privacy statement  :  Contact