]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - intro.texi
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / intro.texi
CommitLineData
5898af2c
DHW
1\input texinfo
2@c $Id$
3@setfilename intro.info
4@settitle Introduction
5@iftex
6@c The include file "texiplus.tex" is in the texinfo/cygnus dir, and
7@c implements Cygnus modifications to the texinfo manual style.
8@input texiplus
9@c The include file "smpklug.texi" is a kluge to deal with local
10@c document production issues at Cygnus; it's safe to comment out this
11@c line if you don't have (or don't want) the file.
12@input smpklug.texi
13@smallbook
14@cropmarks
15@finalout
16@c We don't actually want a titlepage; HEADINGSon is usually called by
17@c @end titlepage to turn on footers and headers.
18@setchapternewpage odd
19@HEADINGSon
20@end iftex
21
22@node Top,,,
23@unnumbered Introduction
24
25This Developer's Kit puts at your disposal, in a single coordinated
26and tested release, some of the best software development tools
27available:
28
29@table @t
30@item gcc
31C compiler
32
33@item g++
34C++ compiler
35
36@item gdb
37Debugger
38
39@item make
40Automates building and installing your programs
41
42@item gprof
43Performance analyzer
44
45@item byacc
46Parser generator
47
48@item flex
49Fast lexical analyzer generator
50
51@item libg++.a
52Class library for C++
53
54@item send_pr
55Script to send structured problem reports to Cygnus
56
57@item diff
58Compares source files
59
60@item patch
61Installs source fixes
62
63@item info
64@itemx makeinfo
65Online documentation tools
66
67@item texinfo.tex
68@itemx texindex
69Documentation printing tools
70@end table
71
72On most host systems, the following are also included (to see if
73they are available on your host, @pxref{Contents, Release Contents,
74Release Contents, README.info, Installation Notes}).
75
76@table @t
77@item gas
78Assembler
79
80@item ld
81Linker
82
83@item ar
84Manages object code archives
85
86@item nm
87Lists object file symbol tables
88
89@item objdump
90Displays object file information
91
92@item ranlib
93Generates archive index
94
95@item size
96Lists section and total sizes
97
98@item strip
99Discards symbols
100@end table
101
102These tools are free software; most of them are from the GNU project,
103produced by the Free Software Foundation (FSF). ``GNU'' is the name of
104the FSF's evolving system (in speech, the `G' is sounded). Cygnus
105Support collaborates with the FSF in developing these tools. In this,
106our @dfn{Progressive} product, we've assembled the most recent forms of
107the development tools, tested them, made sure they work well together,
108made them easy to install---the installation tape comes with binaries
109already compiled for your system---and made them easy to reconfigure and
110recompile from source.
111
112Cygnus Support exists to help our clients exploit their freedom in
113using, adapting, or enhancing this software. @xref{Cygnus,,About Cygnus
114Support}, for more information.
115
116@page
117@node Copying,,,
118@section Free Software
119If you find our Developer's Kit useful, please feel free to give or sell
120copies of the software and documentation to anyone you like.
121
122Cygnus products are @dfn{free software}, protected by the @sc{gnu} General
123Public License (GPL). The GPL gives you the freedom to copy or adapt any
124program it licenses---but every person getting a copy also gets with it the
125freedom to modify that copy (which means that they must get access to
126the source code), and the freedom to distribute further copies. Typical
127software companies use copyrights to limit your freedoms; the GPL is
128designed to preserve your freedoms.
129
130Fundamentally, the General Public License is a license which grants you
131these freedoms, and only imposes restrictions to ensure that no one can
132take these freedoms away from anyone else.
133
134For full details, see the @strong{LICENSE} section in this manual
135set.
136
137@page
138@node Manuals,,,
139@section Manuals
140@noindent
141These printed manuals are included in your Cygnus Progressive Release:
142@display
143
144@cite{Using the @sc{gnu} C Compiler}
145
146@cite{The C Preprocessor}
147
148@cite{GDB: The @sc{gnu} Source-Level Debugger}
149
150@cite{Using @code{as}: The @sc{gnu} Assembler}
151
152@cite{The @sc{gnu} Binary Utilities}
153
154@cite{@code{gld}, the @sc{gnu} Linker}
155
156@cite{@sc{gnu} Make: A Program for Directing Recompilation}
157
158@cite{User's Guide to the @sc{GNU} C++ Class Library}
159
160@end display
161
162The manuals are designed for easy online browsing (@pxref{Info,,Online
163Documentation}). For online use, the accompanying software distribution
164tape includes all the printed manuals, and also the following documents:
165
166@table @emph
167@item FLEX: A Fast Lexical Analyzer Generator
168Generates lexical analyzers suitable for GCC and other compilers.
169
170@item Info: Documentation Browsing System
171Full details on the @code{info} browser.
172
173@item Texinfo: The @sc{gnu} Documentation Format
174How you can use @TeX{} to print these manuals, and how to write your own
175manuals in this style.
176
177@item Using and Porting @sc{gnu cc}
178Detailed information about what's needed to put @sc{gnu cc} on different
179platforms, or to modify @sc{gnu cc}. Also includes all the
180information in the printed manual @cite{Using the @sc{gnu} C Compiler}.
181@end table
182
183@noindent
184Finally, @code{man} pages are included for all the programs in the release.
185
186You have the freedom to copy the manuals, like the software they cover;
187each manual's copyright statement includes the necessary permissions.
188The manuals themselves are also free software, and the source for them
189is also available on the tape.
190
191@node Info,,,
192@section Using Online Documentation
193
194You can browse through the online documentation using either @sc{gnu} Emacs,
195or the program @code{info} included on the accompanying tape.
196Online, the manuals are organized into @dfn{nodes}, which correspond to
197the chapters and sections of a printed book. You can follow them in
198sequence, if you wish, just like in the printed book---but there are
199also other choices. The documents have menus that let you go quickly to
200the node that has the information you need. @code{info} has ``hot''
201references; if one section refers to another, you can tell @code{info}
202to take you immediately to that other section---and you can get back
203again easily to take up your reading where you left off. Naturally, you
204can also search for particular words or phrases.
205
206The best way to get started with the online documentation system is to
207run the browser @code{info}. After the Progressive Release is installed on
208your system, you can get into @code{info} by just typing its name---no
209options or arguments are necessary---at your shell's prompt (shown as
210@samp{eg%} here):
211@example
212eg% info
213@end example
214
215@noindent
216@code{info} will display its first screen, a menu of the documentation
217available, and will await your input. Typing the single letter
218@example
219h
220@end example
221@noindent
222requests a tutorial, designed to teach you how to use @code{info}.
223
224If you already use Emacs, you may want to get into the documentation
225browsing mode, instead, by typing @kbd{C-h i} inside Emacs.
226
227You can get out of @code{info} at any time by typing the single letter
228@kbd{q}.
229
230@page
231Here is a summary of all the @code{info} commands; @code{info} itself
232can display a summary like this at any time, when you type the single
233character @kbd{?}.
234
235@smallexample
236@cartouche
237h @r{Invoke the Info tutorial.}
238q @r{Quit Info}
239
240@i{Selecting other nodes:}
241n @r{Move to the ``next'' node of this node.}
242p @r{Move to the ``previous'' node of this node.}
243u @r{Move ``up'' from this node.}
244m @r{Pick menu item specified by name (or abbreviation).}
245 @r{Picking a menu item moves to the corresponding node.}
246f @r{Follow a cross reference. Reads name of reference.}
247l @r{Move to the last node you were looking at.}
248
249@i{Moving within a node:}
250Space @r{scroll forward a page.}
251DEL @r{scroll backward a page.}
252b @r{Go to beginning of this node.}
253
254@i{Advanced commands:}
2551 @r{Pick first item in node's menu.}
2562 - 5 @r{Pick second ... fifth item in node's menu.}
257g @r{Move to node specified by name.}
258 @r{You may include a filename as well, as @code{(@var{FILENAME})@var{NODENAME}}.}
259s @r{Search through this Info file for a specified string,}
260 @r{and select the node in which the next occurrence is found.}
261Ctl-p @r{Print the contents of this node using @samp{lpr}.}
262@end cartouche
263@end smallexample
264
265@page
266@node Bugs,,,
267@section Reporting Trouble
268We've tried to make the programs in your Progressive Release as
269trouble-free as possible. If you do encounter trouble, however, we'd
270like to be able to diagnose and fix the problem as quickly as possible.
271You can help us do that by using the script @code{send_pr} to send us your
272problem reports.
273
274@code{send_pr} invokes an editor on a problem report form (after
275trying to fill in some fields with reasonable default values). After
276you exit the editor, @code{send_pr} sends the filled out form to the
277problem report management system (PRMS) at Cygnus Support. You can
278use the environment variable @code{EDITOR} to specify what editor to
279use (the default is @code{vi}).
280
281@code{send_pr} attempts to send your problem report to Cygnus via
282electronic mail. If your site cannot support this, you can still use
283the problem report form: use @samp{send_pr -p} to capture a copy of the
284blank problem-report form and fill it in. (You can also photocopy the
285blank form at the end of this section to fill in.) In either case you
286can FAX the problem report to Cygnus at @w{+1 415 322 3270}.
287
288At Cygnus Support, the problem report is assigned a unique number and is
289stored in the PRMS database according to its category and your
290customer-id. PRMS automatically replies with an acknowledgement, citing
291the category and the PR number. As the next step, Cygnus staff inspects
292the bugreport (if you've marked your report as high priority, we respond
293with an analysis of the problem in less than one business day). We'll
294offer a solution as soon as possible, and await your feedback. As a
295matter of policy, we do not consider your problem report closed until
296you've agreed with a solution we offer.
297
298To ensure that a problem report is handled promptly, it must contain
299your (unique) customer-id and one of the available categories, shown as
300comments in the problem report form, to identify the problem area. As a
301Cygnus Support customer, you can obtain your customer-id by invoking
302@code{send_pr} with the @samp{-request-id} option.
303
304@page
305@subsection Filling out a problem report
306Problem reports are structured so that a program can manage them. When
307filling out the form, please remember the following guidelines:
308
309@itemize @bullet
310@item
311Each PR needs a valid customer-id and category.
312
313@item
314Describe only one problem with one PR.
315
316@item
317For follow-up mail, use the same subject line as the one in the
318automatic acknowledgent. It shows the category, the PR number and the
319original synopsis line. This allows Cygnus Support to make sure mail on
320the same problem report stays together.
321
322@item
323Please try to make the subject or synopsis line as informative
324as possible. For misbehaving software, you might use a sentence of
325the form ``with input foo, component xyz produces bar''.
326
327@item
328You don't need to delete the comment lines while editing the PR form;
329this is done by @code{send_pr}. Put your information before or
330after the comment.
331@end itemize
332
333@page
334For full details on @code{send_pr} and the supporting form, see the man
335page @code{send_pr}(1). Here is a sample blank problem-report form; if
336electronic mail from your site does not reach Cygnus, you can send us
337problem reports by photocopying this sample, filling it out, and sending
338it by FAX to @w{+1 415 322 3270}.
339
340@iftex
341@widen{28pt}
342@end iftex
343
344@smallexample
345SEND_PR: Choose from the following categories:
346SEND_PR:
347SEND_PR: bfd binutils bison clib config cvs
348SEND_PR: diff doc emacs g++ gas gcc
349SEND_PR: gdb grep ispell ld libg++ libiberty
350SEND_PR: libiberty make rcs readline send_pr texinfo
351SEND_PR: other
352SEND_PR:
353
354To: cygnus-bugs@@cygnus.com
355
356Subject:
357
358From:
359
360Reply-To:
361
362X-send-pr-version: send_pr: 1.15
363
364
365>Customer-Id:
366
367>Originator: <name of the PR author (one line)>
368
369>Organization: <organization of PR author (multiple lines)>
370
371
372
373>Confidential: <[ yes | no ] (one line)>
374
375>Synopsis: <synopsis of the problem (one line)>
376
377>Severity: <[ non-critical | serious | critical ] (one line)>
378
379>Priority: <[ low | medium | high ] (one line)>
380
381>Category: <name of the product (one line)>
382
383>Class: <[ sw-bug | doc-bug | change-request | support ] (one line)>
384
385>Release: <release number or tag (one line)>
386
387>Environment:
388 <machine, os, target, libraries (multiple lines)>
389
390
391
392>Description:
393 <precise description of the problem (multiple lines)>
394
395
396
397
398
399
400>How-To-Repeat:
401 <code/input/activities to reproduce the problem (multiple lines)>
402@end smallexample
403
404@iftex
405@widen{-28pt}
406@end iftex
407
408@page
409@node Cygnus,,,
410@section About Cygnus Support
411Cygnus Support was founded in 1989 to provide commercial support for
412free software. Cygnus supplies products and services that benefit
413advanced development groups by allowing them to use state-of-the-art
414tools without having to maintain them. With Cygnus Support, sites that
415once were forced to do their own tool support can recover that valuable
416staff time. Former users of proprietary software now may choose
417supported free software, combining the advantages of both worlds.
418
419Free software is faster, more powerful, and more portable than its
420proprietary counterparts. It evolves faster because users who want to
421make improvements are free to do so. Cygnus tracks these
422improvements and integrates them into tested, stable versions ready
423for commercial use, then backs this software with comprehensive
424support.
425
426With Cygnus Support as your partner, you will have the software and
427the support you need to meet your business objectives. Cygnus
428is intimately familiar with this software from extensive experience
429using, debugging, and implementing it. You get direct access to the
430most qualified support people: the authors of that software.
431
432We provide up-to-the minute ``progressive'' releases, for those who need
433the very latest version---or ``vintage'' releases: stable versions which
434have been through extensive use and testing.
435
436Because all our improvements are also free software, you can
437distribute them widely within your organization, or to your customers,
438without extra cost.
439
440@sp 4
441
442@display
443Cygnus Support
444814 University Avenue
445Palo Alto, CA 94301, USA
446
447+1 415 322 3811
448
449email: @code{info@@cygnus.com}
450fax: +1 415 322 3270
451@end display
452
453@bye