home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1992-09-10 | 22.7 KB | 509 lines |
- This is Info file gcc.info, produced by Makeinfo-1.47 from the input
- file gcc.texinfo.
-
- This file documents the use and the internals of the GNU compiler.
-
- Copyright (C) 1988, 1989, 1990 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided also
- that the sections entitled "GNU General Public License" and "Protect
- Your Freedom--Fight `Look And Feel'" are included exactly as in the
- original, and provided that the entire resulting derived work is
- distributed under the terms of a permission notice identical to this
- one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that the sections entitled "GNU General Public
- License" and "Protect Your Freedom--Fight `Look And Feel'" and this
- permission notice may be included in translations approved by the Free
- Software Foundation instead of in the original English.
-
- File: gcc.info, Node: Top, Next: Copying, Up: (DIR)
-
- Introduction
- ************
-
- This manual documents how to run, install and port the GNU C
- compiler, as well as its new features and incompatibilities, and how to
- report bugs.
-
- * Menu:
-
- * Copying:: GNU General Public License says
- how you can copy and share GNU CC.
- * Contributors:: People who have contributed to GNU CC.
- * Boycott:: Protect your freedom--fight "look and feel".
- * Options:: Command options supported by `gcc'.
- * Installation:: How to configure, compile and install GNU CC.
- * Trouble:: If you have trouble installing GNU CC.
- * Service:: How to find suppliers of services for GNU CC users.
- * Incompatibilities:: Incompatibilities of GNU CC.
- * Extensions:: GNU extensions to the C language.
- * Bugs:: How to report bugs (if you want to get them fixed).
- * Portability:: Goals of GNU CC's portability features.
- * Interface:: Function-call interface of GNU CC output.
- * Passes:: Order of passes, what they do, and what each file is for.
- * RTL:: The intermediate representation that most passes work on.
- * Machine Desc:: How to write machine description instruction patterns.
- * Machine Macros:: How to write the machine description C macros.
- * Config:: Writing the `xm-MACHINE.h' file.
-
- File: gcc.info, Node: Copying, Next: Contributors, Prev: Top, Up: Top
-
- GNU GENERAL PUBLIC LICENSE
- **************************
-
- Version 1, February 1989
-
- Copyright (C) 1989 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
- ========
-
- The license agreements of most software companies try to keep users
- at the mercy of those companies. By contrast, our General Public
- License is intended to guarantee your freedom to share and change free
- software--to make sure the software is free for all its users. The
- General Public License applies to the Free Software Foundation's
- software and to any other program whose authors commit to using it. You
- can use it for your programs, too.
-
- When we speak of free software, we are referring to freedom, not
- price. Specifically, the General Public License is designed to make
- sure that you have the freedom to give away or sell copies of free
- software, that you receive source code or can get it if you want it,
- that you can change the software or use pieces of it in new free
- programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
- anyone to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if you
- distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of a such a program, whether
- gratis or for a fee, you must give the recipients all the rights that
- you have. You must make sure that they, too, receive or can get the
- source code. And you must tell them their rights.
-
- We protect your rights with two steps: (1) copyright the software,
- and (2) offer you this license which gives you legal permission to copy,
- distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
- that everyone understands that there is no warranty for this free
- software. If the software is modified by someone else and passed on, we
- want its recipients to know that what they have is not the original, so
- that any problems introduced by others will not reflect on the original
- authors' reputations.
-
- The precise terms and conditions for copying, distribution and
- modification follow.
-
- TERMS AND CONDITIONS
-
- 1. This License Agreement applies to any program or other work which
- contains a notice placed by the copyright holder saying it may be
- distributed under the terms of this General Public License. The
- "Program", below, refers to any such program or work, and a "work
- based on the Program" means either the Program or any work
- containing the Program or a portion of it, either verbatim or with
- modifications. Each licensee is addressed as "you".
-
- 2. You may copy and distribute verbatim copies of the Program's source
- code as you receive it, in any medium, provided that you
- conspicuously and appropriately publish on each copy an
- appropriate copyright notice and disclaimer of warranty; keep
- intact all the notices that refer to this General Public License
- and to the absence of any warranty; and give any other recipients
- of the Program a copy of this General Public License along with
- the Program. You may charge a fee for the physical act of
- transferring a copy.
-
- 3. You may modify your copy or copies of the Program or any portion of
- it, and copy and distribute such modifications under the terms of
- Paragraph 1 above, provided that you also do the following:
-
- * cause the modified files to carry prominent notices stating
- that you changed the files and the date of any change; and
-
- * cause the whole of any work that you distribute or publish,
- that in whole or in part contains the Program or any part
- thereof, either with or without modifications, to be licensed
- at no charge to all third parties under the terms of this
- General Public License (except that you may choose to grant
- warranty protection to some or all third parties, at your
- option).
-
- * If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the simplest and most usual way, to print
- or display an announcement including an appropriate copyright
- notice and a notice that there is no warranty (or else,
- saying that you provide a warranty) and that users may
- redistribute the program under these conditions, and telling
- the user how to view a copy of this General Public License.
-
- * You may charge a fee for the physical act of transferring a
- copy, and you may at your option offer warranty protection in
- exchange for a fee.
-
- Mere aggregation of another independent work with the Program (or
- its derivative) on a volume of a storage or distribution medium
- does not bring the other work under the scope of these terms.
-
- 4. You may copy and distribute the Program (or a portion or
- derivative of it, under Paragraph 2) in object code or executable
- form under the terms of Paragraphs 1 and 2 above provided that you
- also do one of the following:
-
- * accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of
- Paragraphs 1 and 2 above; or,
-
- * accompany it with a written offer, valid for at least three
- years, to give any third party free (except for a nominal
- charge for the cost of distribution) a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Paragraphs 1 and 2 above; or,
-
- * accompany it with the information you received as to where the
- corresponding source code may be obtained. (This alternative
- is allowed only for noncommercial distribution and only if you
- received the program in object code or executable form alone.)
-
- Source code for a work means the preferred form of the work for
- making modifications to it. For an executable file, complete
- source code means all the source code for all modules it contains;
- but, as a special exception, it need not include source code for
- modules which are standard libraries that accompany the operating
- system on which the executable file runs, or for standard header
- files or definitions files that accompany that operating system.
-
- 5. You may not copy, modify, sublicense, distribute or transfer the
- Program except as expressly provided under this General Public
- License. Any attempt otherwise to copy, modify, sublicense,
- distribute or transfer the Program is void, and will automatically
- terminate your rights to use the Program under this License.
- However, parties who have received copies, or rights to use
- copies, from you under this General Public License will not have
- their licenses terminated so long as such parties remain in full
- compliance.
-
- 6. By copying, distributing or modifying the Program (or any work
- based on the Program) you indicate your acceptance of this license
- to do so, and all its terms and conditions.
-
- 7. Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from the
- original licensor to copy, distribute or modify the Program
- subject to these terms and conditions. You may not impose any
- further restrictions on the recipients' exercise of the rights
- granted herein.
-
- 8. The Free Software Foundation may publish revised and/or new
- versions of the General Public License from time to time. Such
- new versions will be similar in spirit to the present version, but
- may differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
- Program specifies a version number of the license which applies to
- it and "any later version", you have the option of following the
- terms and conditions either of that version or of any later
- version published by the Free Software Foundation. If the Program
- does not specify a version number of the license, you may choose
- any version ever published by the Free Software Foundation.
-
- 9. If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to the
- author to ask for permission. For software which is copyrighted
- by the Free Software Foundation, write to the Free Software
- Foundation; we sometimes make exceptions for this. Our decision
- will be guided by the two goals of preserving the free status of
- all derivatives of our free software and of promoting the sharing
- and reuse of software generally.
-
- NO WARRANTY
-
- 10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
- WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
- NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
- QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
-
- 11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
- OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
- OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
- =======================================================
-
- If you develop a new program, and you want it to be of the greatest
- possible use to humanity, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these
- terms.
-
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- convey the exclusion of warranty; and each file should have at least the
- "copyright" line and a pointer to where the full notice is found.
-
- ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
- Copyright (C) 19YY NAME OF AUTHOR
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- Also add information on how to contact you by electronic and paper
- mail.
-
- If the program is interactive, make it output a short notice like
- this when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
- The hypothetical commands `show w' and `show c' should show the
- appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and `show
- c'; they could even be mouse-clicks or menu items--whatever suits your
- program.
-
- You should also get your employer (if you work as a programmer) or
- your school, if any, to sign a "copyright disclaimer" for the program,
- if necessary. Here a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (a program to direct compilers to make passes
- at assemblers) written by James Hacker.
-
- SIGNATURE OF TY COON, 1 April 1989
- Ty Coon, President of Vice
-
- That's all there is to it!
-
- File: gcc.info, Node: Contributors, Next: Boycott, Prev: Copying, Up: Top
-
- Contributors to GNU CC
- **********************
-
- In addition to Richard Stallman, several people have written parts
- of GNU CC.
-
- * The idea of using RTL and some of the optimization ideas came from
- the U. of Arizona Portable Optimizer, written by Jack Davidson and
- Christopher Fraser. See "Register Allocation and Exhaustive
- Peephole Optimization", Software Practice and Experience 14 (9),
- Sept. 1984, 857-866.
-
- * Paul Rubin wrote most of the preprocessor.
-
- * Leonard Tower wrote parts of the parser, RTL generator, and RTL
- definitions, and of the Vax machine description.
-
- * Ted Lemon wrote parts of the RTL reader and printer.
-
- * Jim Wilson implemented loop strength reduction and some other loop
- optimizations.
-
- * Nobuyuki Hikichi of Software Research Associates, Tokyo,
- contributed the support for the Sony NEWS machine.
-
- * Charles LaBrec contributed the support for the Integrated Solutions
- 68020 system.
-
- * Michael Tiemann of MCC wrote most of the description of the
- National Semiconductor 32000 series cpu. He also wrote the code
- for inline function integration and for the SPARC cpu and Motorola
- 88000 cpu and part of the Sun FPA support.
-
- * Jan Stein of the Chalmers Computer Society provided support for
- Genix, as well as part of the 32000 machine description.
-
- * Randy Smith finished the Sun FPA support.
-
- * Robert Brown implemented the support for Encore 32000 systems.
-
- * David Kashtan of SRI adapted GNU CC to the Vomit-Making System.
-
- * Alex Crain provided changes for the 3b1.
-
- * Greg Satz and Chris Hanson assisted in making GNU CC work on HP-UX
- for the 9000 series 300.
-
- * William Schelter did most of the work on the Intel 80386 support.
-
- * Christopher Smith did the port for Convex machines.
-
- * Paul Petersen wrote the machine description for the Alliant FX/8.
-
- * Alain Lichnewsky ported GNU CC to the Mips cpu.
-
- * Devon Bowen, Dale Wiles and Kevin Zachmann ported GNU CC to the
- Tahoe.
-
- * Jonathan Stone wrote the machine description for the Pyramid
- computer.
-
- File: gcc.info, Node: Boycott, Next: Options, Prev: Contributors, Up: Top
-
- Protect Your Freedom--Fight "Look And Feel"
- *******************************************
-
- This section is a political message from the League for Programming
- Freedom to the users of GNU CC. It is included here as an
- expression of support for the League on the part of the Free
- Software Foundation and Richard Stallman.
-
- Ashton-Tate, Apple, Lotus and Xerox are trying to create a new form
- of legal monopoly: a copyright on a class of user interfaces. These
- monopolies would cause serious problems for users and developers of
- computer software and systems.
-
- Until a few years ago, the law seemed clear: no one could restrict
- others from using a user interface; programmers were free to implement
- any interface they chose. Imitating interfaces, sometimes with changes,
- was standard practice in the computer field. The interfaces we know
- evolved gradually in this way; for example, the Macintosh user interface
- drew ideas from the Xerox interface, which in turn drew on work done at
- Stanford and SRI. 1-2-3 imitated VisiCalc, and dBase imitated a
- database program from JPL.
-
- Most computer companies, and nearly all computer users, were happy
- with this state of affairs. The companies that are suing say it does
- not offer "enough incentive" to develop their products, but they must
- have considered it "enough" when they made their decision to do so. It
- seems they are not satisfied with the opportunity to continue to compete
- in the marketplace--not even with a head start.
-
- If Xerox, Lotus, Apple and Ashton-Tate are permitted to make law
- through the courts, the precedent will hobble the software industry:
-
- * Gratuitous incompatibilities will burden users. Imagine if each
- car manufacturer had to arrange the pedals in a different order.
-
- * Software will become and remain more expensive. Users will be
- "locked in" to proprietary interfaces, for which there is no real
- competition.
-
- * Large companies have an unfair advantage wherever lawsuits become
- commonplace. Since they can easily afford to sue, they can
- intimidate small companies with threats even when they don't
- really have a case.
-
- * User interface improvements will come slower, since incremental
- evolution through creative imitation will no longer be permitted.
-
- * Even Apple, etc., will find it harder to make improvements if they
- can no longer adapt the good ideas that others introduce, for fear
- of weakening their own legal positions. Some users suggest that
- this stagnation may already have started.
-
- * If you use GNU software, you might find it of some concern that
- user interface copyright will make it hard for the Free Software
- Foundation to develop programs compatible with the interfaces that
- you already know.
-
- To protect our freedom from lawsuits like these, a group of
- programmers and users have formed a new grass-roots political
- organization, the League for Programming Freedom.
-
- The purpose of the League is to oppose new monopolistic practices
- such as user-interface copyright and software patents; it calls for a
- return to the legal policies of the recent past, in which these
- practices were not allowed. The League is not concerned with free
- software as an issue, and not affiliated with the Free Software
- Foundation.
-
- The League's membership rolls include John McCarthy, inventor of
- Lisp, Marvin Minsky, founder of the Artificial Intelligence lab, Guy L.
- Steele, Jr., author of well-known books on Lisp and C, as well as
- Richard Stallman, the developer of GNU CC. Please join and add your
- name to the list. Membership dues in the League are $42 per year for
- programmers, managers and professionals; $10.50 for students; $21 for
- others.
-
- The League needs both activist members and members who only pay their
- dues.
-
- To join, or for more information, phone (617) 492-0023 or write to:
-
- League for Programming Freedom
- 1 Kendall Square #143
- P.O. Box 9171
- Cambridge, MA 02139 league@prep.ai.mit.edu
-
- Here are some suggestions from the League for how you can protect
- your freedom to write programs:
-
- * Don't buy from Xerox, Lotus, Apple or Ashton-Tate. Buy from their
- competitors or from the defendants they are suing.
-
- * Don't develop software to work with the systems made by these
- companies.
-
- * Port your existing software to competing systems, so that you
- encourage users to switch.
-
- * Write letters to company presidents to let them know their conduct
- is unacceptable.
-
- * Tell your friends and colleagues about this issue and how it
- threatens to ruin the computer industry.
-
- * Above all, don't work for the look-and-feel plaintiffs, and don't
- accept contracts from them.
-
- * Write to Congress to explain the importance of this issue.
-
- House Subcommittee on Intellectual Property
- 2137 Rayburn Bldg
- Washington, DC 20515
-
- Senate Subcommittee on Patents, Trademarks and Copyrights
- United States Senate
- Washington, DC 20510
-
- Express your opinion! You can make a difference.
-