source: trunk/src/gcc/FAQ@ 988

Last change on this file since 988 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 28.2 KB
Line 
1
2 GCC Frequently Asked Questions
3
4 The latest version of this document is always available at
5 [1]http://www.gnu.org/software/gcc/faq.html.
6
7 This FAQ tries to answer specific questions concerning GCC. For
8 general information regarding C, C++, resp. Fortran please check the
9 [2]comp.lang.c FAQ, [3]comp.std.c++ FAQ, and the [4]Fortran
10 Information page.
11
12 Other GCC-related FAQs: [5]libstdc++-v3, and [6]GCJ.
13 _________________________________________________________________
14
15 Questions
16
17 1. [7]General information
18 1. [8]What is the relationship between GCC and EGCS?
19 2. [9]What is the relationship between GCC and Cygnus / Red Hat?
20 3. [10]What is an open development model?
21 4. [11]How do I report a bug?
22 5. [12]How do I get a bug fixed or a feature added?
23 6. [13]Does GCC work on my platform?
24 2. [14]Installation
25 1. [15]How to install multiple versions of GCC
26 2. [16]Dynamic linker is unable to find GCC libraries
27 3. [17]libstdc++/libio tests fail badly with --enable-shared
28 4. [18]GCC can not find GNU as/GNU ld
29 5. [19]cpp: Usage:... Error
30 6. [20]Optimizing the compiler itself
31 3. [21]Testsuite problems
32 1. [22]Unable to run the testsuite
33 2. [23]How do I pass flags like -fnew-abi to the testsuite?
34 3. [24]How can I run the test suite with multiple options?
35 4. [25]Older versions of GCC
36 1. [26]Is there a stringstream / sstream for GCC 2.95.2?
37 5. [27]Miscellaneous
38 1. [28]Friend Templates
39 2. [29]dynamic_cast, throw, typeid don't work with shared
40 libraries
41 3. [30]Why do I need autoconf, bison, xgettext, automake, etc?
42 4. [31]Why can't I build a shared library?
43 5. [32]When building C++, the linker says my constructors,
44 destructors or virtual tables are undefined, but I defined
45 them
46 6. [33]Will GCC someday include an incremental linker?
47 _________________________________________________________________
48
49 General information
50
51What is the relationship between GCC and EGCS?
52
53 In 1990/1991 gcc version 1 had reached a point of stability. For the
54 targets it could support, it worked well. It had limitations inherent
55 in its design that would be difficult to resolve, so a major effort
56 was made to resolve those limitiations and gcc version 2 was the
57 result.
58
59 When we had gcc2 in a useful state, development efforts on gcc1
60 stopped and we all concentrated on making gcc2 better than gcc1 could
61 ever be. This is the kind of step forward we wanted to make with the
62 EGCS project when it was formed in 1997.
63
64 In April 1999 the Free Software Foundation officially halted
65 development on the gcc2 compiler and appointed the EGCS project as the
66 official GCC maintainers. The net result was a single project which
67 carries forward GCC development under the ultimate control of the
68 [34]GCC Steering Committee.
69 _________________________________________________________________
70
71What is the relationship between GCC and Cygnus / Red Hat?
72
73 It is a common mis-conception that Red Hat controls GCC either
74 directly or indirectly.
75
76 While Red Hat does donate hardware, network connections, code and
77 developer time to GCC development, Red Hat does not control GCC.
78
79 Overall control of GCC is in the hands of the [35]GCC Steering
80 Committee which includes people from a variety of different
81 organizations and backgrounds. The purpose of the steering committee
82 is to make decisions in the best interest of GCC and to help ensure
83 that no individual or company has control over the project.
84
85 To summarize, Red Hat contributes to the GCC project, but does not
86 exert a controlling influence over GCC.
87 _________________________________________________________________
88
89What is an open development model?
90
91 We are using a bazaar style [36][1] approach to GCC development: we
92 make snapshots publicly available to anyone who wants to try them; we
93 welcome anyone to join the development mailing list. All of the
94 discussions on the development mailing list are available via the web.
95 We're going to be making releases with a much higher frequency than
96 they have been made in the past.
97
98 In addition to weekly snapshots of the GCC development sources, we
99 have the sources readable from a CVS server by anyone. Furthermore we
100 are using remote CVS to allow remote maintainers write access to the
101 sources.
102
103 There have been many potential GCC developers who were not able to
104 participate in GCC development in the past. We want these people to
105 help in any way they can; we ultimately want GCC to be the best
106 compiler in the world.
107
108 A compiler is a complicated piece of software, there will still be
109 strong central maintainers who will reject patches, who will demand
110 documentation of implementations, and who will keep the level of
111 quality as high as it is today. Code that could use wider testing may
112 be integrated--code that is simply ill-conceived won't be.
113
114 GCC is not the first piece of software to use this open development
115 process; FreeBSD, the Emacs lisp repository, and the Linux kernel are
116 a few examples of the bazaar style of development.
117
118 With GCC, we are adding new features and optimizations at a rate that
119 has not been done since the creation of gcc2; these additions
120 inevitably have a temporarily destabilizing effect. With the help of
121 developers working together with this bazaar style development, the
122 resulting stability and quality levels will be better than we've had
123 before.
124
125 [1] We've been discussing different development models a lot over
126 the past few months. The paper which started all of this introduced
127 two terms: A cathedral development model versus a bazaar
128 development model. The paper is written by Eric S. Raymond, it is
129 called ``[37]The Cathedral and the Bazaar''. The paper is a useful
130 starting point for discussions.