mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
454 lines
14 KiB
Plaintext
454 lines
14 KiB
Plaintext
\input texinfo
|
|
@c $Id$
|
|
@setfilename intro.info
|
|
@settitle Introduction
|
|
@iftex
|
|
@c The include file "texiplus.tex" is in the texinfo/cygnus dir, and
|
|
@c implements Cygnus modifications to the texinfo manual style.
|
|
@input texiplus
|
|
@c The include file "smpklug.texi" is a kluge to deal with local
|
|
@c document production issues at Cygnus; it's safe to comment out this
|
|
@c line if you don't have (or don't want) the file.
|
|
@input smpklug.texi
|
|
@smallbook
|
|
@cropmarks
|
|
@finalout
|
|
@c We don't actually want a titlepage; HEADINGSon is usually called by
|
|
@c @end titlepage to turn on footers and headers.
|
|
@setchapternewpage odd
|
|
@HEADINGSon
|
|
@end iftex
|
|
|
|
@node Top,,,
|
|
@unnumbered Introduction
|
|
|
|
This Developer's Kit puts at your disposal, in a single coordinated
|
|
and tested release, some of the best software development tools
|
|
available:
|
|
|
|
@table @t
|
|
@item gcc
|
|
C compiler
|
|
|
|
@item g++
|
|
C++ compiler
|
|
|
|
@item gdb
|
|
Debugger
|
|
|
|
@item make
|
|
Automates building and installing your programs
|
|
|
|
@item gprof
|
|
Performance analyzer
|
|
|
|
@item byacc
|
|
Parser generator
|
|
|
|
@item flex
|
|
Fast lexical analyzer generator
|
|
|
|
@item libg++.a
|
|
Class library for C++
|
|
|
|
@item send_pr
|
|
Script to send structured problem reports to Cygnus
|
|
|
|
@item diff
|
|
Compares source files
|
|
|
|
@item patch
|
|
Installs source fixes
|
|
|
|
@item info
|
|
@itemx makeinfo
|
|
Online documentation tools
|
|
|
|
@item texinfo.tex
|
|
@itemx texindex
|
|
Documentation printing tools
|
|
@end table
|
|
|
|
On most host systems, the following are also included (to see if
|
|
they are available on your host, @pxref{Contents, Release Contents,
|
|
Release Contents, README.info, Installation Notes}).
|
|
|
|
@table @t
|
|
@item gas
|
|
Assembler
|
|
|
|
@item ld
|
|
Linker
|
|
|
|
@item ar
|
|
Manages object code archives
|
|
|
|
@item nm
|
|
Lists object file symbol tables
|
|
|
|
@item objdump
|
|
Displays object file information
|
|
|
|
@item ranlib
|
|
Generates archive index
|
|
|
|
@item size
|
|
Lists section and total sizes
|
|
|
|
@item strip
|
|
Discards symbols
|
|
@end table
|
|
|
|
These tools are free software; most of them are from the GNU project,
|
|
produced by the Free Software Foundation (FSF). ``GNU'' is the name of
|
|
the FSF's evolving system (in speech, the `G' is sounded). Cygnus
|
|
Support collaborates with the FSF in developing these tools. In this,
|
|
our @dfn{Progressive} product, we've assembled the most recent forms of
|
|
the development tools, tested them, made sure they work well together,
|
|
made them easy to install---the installation tape comes with binaries
|
|
already compiled for your system---and made them easy to reconfigure and
|
|
recompile from source.
|
|
|
|
Cygnus Support exists to help our clients exploit their freedom in
|
|
using, adapting, or enhancing this software. @xref{Cygnus,,About Cygnus
|
|
Support}, for more information.
|
|
|
|
@page
|
|
@node Copying,,,
|
|
@section Free Software
|
|
If you find our Developer's Kit useful, please feel free to give or sell
|
|
copies of the software and documentation to anyone you like.
|
|
|
|
Cygnus products are @dfn{free software}, protected by the @sc{gnu} General
|
|
Public License (GPL). The GPL gives you the freedom to copy or adapt any
|
|
program it licenses---but every person getting a copy also gets with it the
|
|
freedom to modify that copy (which means that they must get access to
|
|
the source code), and the freedom to distribute further copies. Typical
|
|
software companies use copyrights to limit your freedoms; the GPL is
|
|
designed to preserve your freedoms.
|
|
|
|
Fundamentally, the General Public License is a license which grants you
|
|
these freedoms, and only imposes restrictions to ensure that no one can
|
|
take these freedoms away from anyone else.
|
|
|
|
For full details, see the @strong{LICENSE} section in this manual
|
|
set.
|
|
|
|
@page
|
|
@node Manuals,,,
|
|
@section Manuals
|
|
@noindent
|
|
These printed manuals are included in your Cygnus Progressive Release:
|
|
@display
|
|
|
|
@cite{Using the @sc{gnu} C Compiler}
|
|
|
|
@cite{The C Preprocessor}
|
|
|
|
@cite{GDB: The @sc{gnu} Source-Level Debugger}
|
|
|
|
@cite{Using @code{as}: The @sc{gnu} Assembler}
|
|
|
|
@cite{The @sc{gnu} Binary Utilities}
|
|
|
|
@cite{@code{gld}, the @sc{gnu} Linker}
|
|
|
|
@cite{@sc{gnu} Make: A Program for Directing Recompilation}
|
|
|
|
@cite{User's Guide to the @sc{GNU} C++ Class Library}
|
|
|
|
@end display
|
|
|
|
The manuals are designed for easy online browsing (@pxref{Info,,Online
|
|
Documentation}). For online use, the accompanying software distribution
|
|
tape includes all the printed manuals, and also the following documents:
|
|
|
|
@table @emph
|
|
@item FLEX: A Fast Lexical Analyzer Generator
|
|
Generates lexical analyzers suitable for GCC and other compilers.
|
|
|
|
@item Info: Documentation Browsing System
|
|
Full details on the @code{info} browser.
|
|
|
|
@item Texinfo: The @sc{gnu} Documentation Format
|
|
How you can use @TeX{} to print these manuals, and how to write your own
|
|
manuals in this style.
|
|
|
|
@item Using and Porting @sc{gnu cc}
|
|
Detailed information about what's needed to put @sc{gnu cc} on different
|
|
platforms, or to modify @sc{gnu cc}. Also includes all the
|
|
information in the printed manual @cite{Using the @sc{gnu} C Compiler}.
|
|
@end table
|
|
|
|
@noindent
|
|
Finally, @code{man} pages are included for all the programs in the release.
|
|
|
|
You have the freedom to copy the manuals, like the software they cover;
|
|
each manual's copyright statement includes the necessary permissions.
|
|
The manuals themselves are also free software, and the source for them
|
|
is also available on the tape.
|
|
|
|
@node Info,,,
|
|
@section Using Online Documentation
|
|
|
|
You can browse through the online documentation using either @sc{gnu} Emacs,
|
|
or the program @code{info} included on the accompanying tape.
|
|
Online, the manuals are organized into @dfn{nodes}, which correspond to
|
|
the chapters and sections of a printed book. You can follow them in
|
|
sequence, if you wish, just like in the printed book---but there are
|
|
also other choices. The documents have menus that let you go quickly to
|
|
the node that has the information you need. @code{info} has ``hot''
|
|
references; if one section refers to another, you can tell @code{info}
|
|
to take you immediately to that other section---and you can get back
|
|
again easily to take up your reading where you left off. 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 @code{info}. After the Progressive Release is installed on
|
|
your system, you can get into @code{info} by just typing its name---no
|
|
options or arguments are necessary---at your shell's prompt (shown as
|
|
@samp{eg%} here):
|
|
@example
|
|
eg% info
|
|
@end example
|
|
|
|
@noindent
|
|
@code{info} will display its first screen, a menu of the documentation
|
|
available, and will await your input. Typing the single letter
|
|
@example
|
|
h
|
|
@end example
|
|
@noindent
|
|
requests a tutorial, designed to teach you how to use @code{info}.
|
|
|
|
If you already use Emacs, you may want to get into the documentation
|
|
browsing mode, instead, by typing @kbd{C-h i} inside Emacs.
|
|
|
|
You can get out of @code{info} at any time by typing the single letter
|
|
@kbd{q}.
|
|
|
|
@page
|
|
Here is a summary of all the @code{info} commands; @code{info} itself
|
|
can display a summary like this at any time, when you type the single
|
|
character @kbd{?}.
|
|
|
|
@smallexample
|
|
@cartouche
|
|
h @r{Invoke the Info tutorial.}
|
|
q @r{Quit Info}
|
|
|
|
@i{Selecting other nodes:}
|
|
n @r{Move to the ``next'' node of this node.}
|
|
p @r{Move to the ``previous'' node of this node.}
|
|
u @r{Move ``up'' from this node.}
|
|
m @r{Pick menu item specified by name (or abbreviation).}
|
|
@r{Picking a menu item moves to the corresponding node.}
|
|
f @r{Follow a cross reference. Reads name of reference.}
|
|
l @r{Move to the last node you were looking at.}
|
|
|
|
@i{Moving within a node:}
|
|
Space @r{scroll forward a page.}
|
|
DEL @r{scroll backward a page.}
|
|
b @r{Go to beginning of this node.}
|
|
|
|
@i{Advanced commands:}
|
|
1 @r{Pick first item in node's menu.}
|
|
2 - 5 @r{Pick second ... fifth item in node's menu.}
|
|
g @r{Move to node specified by name.}
|
|
@r{You may include a filename as well, as @code{(@var{FILENAME})@var{NODENAME}}.}
|
|
s @r{Search through this Info file for a specified string,}
|
|
@r{and select the node in which the next occurrence is found.}
|
|
Ctl-p @r{Print the contents of this node using @samp{lpr}.}
|
|
@end cartouche
|
|
@end smallexample
|
|
|
|
@page
|
|
@node Bugs,,,
|
|
@section Reporting Trouble
|
|
We've tried to make the programs in your Progressive Release as
|
|
trouble-free as possible. If you do encounter trouble, however, we'd
|
|
like to be able to diagnose and fix the problem as quickly as possible.
|
|
You can help us do that by using the script @code{send_pr} to send us your
|
|
problem reports.
|
|
|
|
@code{send_pr} invokes an editor on a problem report form (after
|
|
trying to fill in some fields with reasonable default values). After
|
|
you exit the editor, @code{send_pr} sends the filled out form to the
|
|
problem report management system (PRMS) at Cygnus Support. You can
|
|
use the environment variable @code{EDITOR} to specify what editor to
|
|
use (the default is @code{vi}).
|
|
|
|
@code{send_pr} attempts to send your problem report to Cygnus via
|
|
electronic mail. If your site cannot support this, you can still use
|
|
the problem report form: use @samp{send_pr -p} to capture a copy of the
|
|
blank problem-report form and fill it in. (You can also photocopy the
|
|
blank form at the end of this section to fill in.) In either case you
|
|
can FAX the problem report to Cygnus at @w{+1 415 322 3270}.
|
|
|
|
At Cygnus Support, the problem report is assigned a unique number and is
|
|
stored in the PRMS database according to its category and your
|
|
customer-id. PRMS automatically replies with an acknowledgement, citing
|
|
the category and the PR number. As the next step, Cygnus staff inspects
|
|
the bugreport (if you've marked your report as high priority, we respond
|
|
with an analysis of the problem in less than one business day). We'll
|
|
offer a solution as soon as possible, and await your feedback. As a
|
|
matter of policy, we do not consider your problem report closed until
|
|
you've agreed with a solution we offer.
|
|
|
|
To ensure that a problem report is handled promptly, it must contain
|
|
your (unique) customer-id and one of the available categories, shown as
|
|
comments in the problem report form, to identify the problem area. As a
|
|
Cygnus Support customer, you can obtain your customer-id by invoking
|
|
@code{send_pr} with the @samp{-request-id} option.
|
|
|
|
@page
|
|
@subsection Filling out a problem report
|
|
Problem reports are structured so that a program can manage them. When
|
|
filling out the form, please remember the following guidelines:
|
|
|
|
@itemize @bullet
|
|
@item
|
|
Each PR needs a valid customer-id and category.
|
|
|
|
@item
|
|
Describe only one problem with one PR.
|
|
|
|
@item
|
|
For follow-up mail, use the same subject line as the one in the
|
|
automatic acknowledgent. It shows the category, the PR number and the
|
|
original synopsis line. This allows Cygnus Support to make sure mail on
|
|
the same problem report stays together.
|
|
|
|
@item
|
|
Please try to make the subject or synopsis line as informative
|
|
as possible. For misbehaving software, you might use a sentence of
|
|
the form ``with input foo, component xyz produces bar''.
|
|
|
|
@item
|
|
You don't need to delete the comment lines while editing the PR form;
|
|
this is done by @code{send_pr}. Put your information before or
|
|
after the comment.
|
|
@end itemize
|
|
|
|
@page
|
|
For full details on @code{send_pr} and the supporting form, see the man
|
|
page @code{send_pr}(1). Here is a sample blank problem-report form; if
|
|
electronic mail from your site does not reach Cygnus, you can send us
|
|
problem reports by photocopying this sample, filling it out, and sending
|
|
it by FAX to @w{+1 415 322 3270}.
|
|
|
|
@iftex
|
|
@widen{28pt}
|
|
@end iftex
|
|
|
|
@smallexample
|
|
SEND_PR: Choose from the following categories:
|
|
SEND_PR:
|
|
SEND_PR: bfd binutils bison clib config cvs
|
|
SEND_PR: diff doc emacs g++ gas gcc
|
|
SEND_PR: gdb grep ispell ld libg++ libiberty
|
|
SEND_PR: libiberty make rcs readline send_pr texinfo
|
|
SEND_PR: other
|
|
SEND_PR:
|
|
|
|
To: cygnus-bugs@@cygnus.com
|
|
|
|
Subject:
|
|
|
|
From:
|
|
|
|
Reply-To:
|
|
|
|
X-send-pr-version: send_pr: 1.15
|
|
|
|
|
|
>Customer-Id:
|
|
|
|
>Originator: <name of the PR author (one line)>
|
|
|
|
>Organization: <organization of PR author (multiple lines)>
|
|
|
|
|
|
|
|
>Confidential: <[ yes | no ] (one line)>
|
|
|
|
>Synopsis: <synopsis of the problem (one line)>
|
|
|
|
>Severity: <[ non-critical | serious | critical ] (one line)>
|
|
|
|
>Priority: <[ low | medium | high ] (one line)>
|
|
|
|
>Category: <name of the product (one line)>
|
|
|
|
>Class: <[ sw-bug | doc-bug | change-request | support ] (one line)>
|
|
|
|
>Release: <release number or tag (one line)>
|
|
|
|
>Environment:
|
|
<machine, os, target, libraries (multiple lines)>
|
|
|
|
|
|
|
|
>Description:
|
|
<precise description of the problem (multiple lines)>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>How-To-Repeat:
|
|
<code/input/activities to reproduce the problem (multiple lines)>
|
|
@end smallexample
|
|
|
|
@iftex
|
|
@widen{-28pt}
|
|
@end iftex
|
|
|
|
@page
|
|
@node Cygnus,,,
|
|
@section About Cygnus Support
|
|
Cygnus Support was founded in 1989 to provide commercial support for
|
|
free software. Cygnus supplies products and services that benefit
|
|
advanced development groups by allowing them to use state-of-the-art
|
|
tools without having to maintain them. With Cygnus Support, sites that
|
|
once were forced to do their own tool support can recover that valuable
|
|
staff time. Former users of proprietary software now may choose
|
|
supported free software, combining the advantages of both worlds.
|
|
|
|
Free software is faster, more powerful, and more portable than its
|
|
proprietary counterparts. It evolves faster because users who want to
|
|
make improvements are free to do so. Cygnus tracks these
|
|
improvements and integrates them into tested, stable versions ready
|
|
for commercial use, then backs this software with comprehensive
|
|
support.
|
|
|
|
With Cygnus Support as your partner, you will have the software and
|
|
the support you need to meet your business objectives. Cygnus
|
|
is intimately familiar with this software from extensive experience
|
|
using, debugging, and implementing it. You get direct access to the
|
|
most qualified support people: the authors of that software.
|
|
|
|
We provide up-to-the minute ``progressive'' releases, for those who need
|
|
the very latest version---or ``vintage'' releases: stable versions which
|
|
have been through extensive use and testing.
|
|
|
|
Because all our improvements are also free software, you can
|
|
distribute them widely within your organization, or to your customers,
|
|
without extra cost.
|
|
|
|
@sp 4
|
|
|
|
@display
|
|
Cygnus Support
|
|
814 University Avenue
|
|
Palo Alto, CA 94301, USA
|
|
|
|
+1 415 322 3811
|
|
|
|
email: @code{info@@cygnus.com}
|
|
fax: +1 415 322 3270
|
|
@end display
|
|
|
|
@bye
|