]> Git Repo - binutils.git/blame - gdb/doc/snapshots.readme
* snapshots.readme: Add notes for UNIX make and GNU make.
[binutils.git] / gdb / doc / snapshots.readme
CommitLineData
87fe2d9d
FF
1 GDB SNAPSHOT SYSTEM
2 (general info)
838a1ac1 3 Updated 5/6/93
87fe2d9d
FF
4
5WHAT ARE GDB SNAPSHOTS
838a1ac1 6----------------------
87fe2d9d
FF
7
8Snapshots are an "image" of the main GDB development tree, captured at a
9particular random instant in time. When you use the snapshots, you should
10be able to maintain a local copy of GDB that is no more than one day older
11than the official source tree used by the GDB maintainers.
12
13The primary purpose of providing snapshots is to widen the group of
14motivated developers that would like to help test, debug, and enhance GDB,
15by providing you with access to the "latest and greatest" source.
16This has several advantages, and several disadvantages.
17
18 First the advantages:
19
20 o Once we have a large base of motivated testers using the snapshots,
21 this should provide good coverage across all currently supported
22 GDB hosts and targets. If a new bug is introduced in GDB due to
23 fixing another bug or ongoing development, it should become
24 obvious much more quickly and get fixed before the next general
25 net release. This should help to reduce the chances of GDB being
26 released to the general public with a major bug that went unnoticed
27 during the release cycle testing because they are machine dependent.
28 We hope to greatly improve GDB's stability and reliability by
29 involving more people and more execution environments in the
30 prerelease testing.
31
32 o With access to the latest source, any diffs that you send to fix
33 bugs or add new features should be much easier for the GDB team
34 to merge into the official source base (after suitable review
35 of course). This encourages us to merge your changes quicker,
36 while they are still "fresh".
37
38 o Once your diffs are merged, you can obtain a new copy of GDB
39 containing your changes almost immediately. Thus you do not
40 have to maintain local copies of your changes for any longer
41 than it takes to get them merged into the official source base.
42 This encourages you to send in changes quicker.
43
44 And the disadvantages:
45
46 o The snapshot you get will be largely untested and of unknown quality.
47 It may fail to configure or compile. It may have serious bugs.
48 You should always keep a copy of the last known working version
49 before updating to the current snapshot, or at least be able to
50 regenerate a working version if the latest snapshot is unusable
51 in your environment for some reason.
52
53 If a production version of GDB has a bug and a snapshot has the fix,
54 and you care about stability, you should put only the fix for that
55 particular problem into your production version. Of course, if you
56 are eager to test GDB, you can use the snapshot versions in your
57 daily work, but users who have not been consulted about whether they
58 feel like testing GDB should generally have something which is at
59 least as bug free as the last released version.
60
61 o Providing timely response to your questions, bug reports, and
62 submitted patches will require the GDB development team to allocate
63 time from an already thin time budget. Please try to help us make
64 this time as productive as possible. See the section below about
65 how to submit changes.
66
67
68HOW TO GET THE SNAPSHOTS
838a1ac1 69------------------------
87fe2d9d
FF
70
71The current plan is to provide a full snapshot once weekly, and incremental
72diffs on a daily basis. Each daily diff will be relative to the source
73tree for the previous day after applying all incremental diffs to date.
74
75The files will be available via anonymous ftp from ftp.cygnus.com, in
76directory pub/gdb, and should look something like:
77
78 gdb-930401.tar.z
79 gdb-930401-930402.diff.z
80 gdb-930402-930403.diff.z
81 gdb-930403-930404.diff.z
82 .
83 .
84 .
85
86At some point, the files should automatically appear during the evening
87as a result of an automatically run process each evening. For the moment
88however, the process will be manually run by one of the gdb maintainers
89and the appropriate files moved to the ftp area at some convenient point
90during the day.
91
92Note that the current plan is to provide gzip compressed files only, on the
93theory that serious GDB testers and developers should have no problem
94acquiring and installing a copy of GNU gzip. We may revisit this issue if
95it turns out to be a problem. You can ftp GNU gzip from prep.ai.mit.edu
96in directory pub/gnu.
97
98Also, as the gcc developers did with their gcc snapshot system, even though
99we will make the snapshots available on a publically accessible ftp area,
100we ask that recipients not widely publicise their availability. The motivation
101for this request is not to hoard them, but to avoid the situation where
102the general GDB user base naively attempts to use the snapshots, has trouble
103with them, complains publically, and the reputation of GDB declines because
104of a perception of instability or lack of quality control.
105
106
107GDB TEST SUITE
838a1ac1 108--------------
87fe2d9d
FF
109
110A test suite is distributed as an integral part of the snapshots. However,
111to use it you will need to get a copy of the dejagnu testing framework.
112Snapshots of dejagnu are available alongside the GDB snapshots, using
113the same naming conventions as the GDB snapshots. Once you have installed
114the dejagnu framework, a simple "make check" in the GDB directory should
115be sufficient to run the tests.
116
117Note that the test suite is still in its infancy. The test framework
118itself might not install on your system if you have an environment that
119is not similar to one that the GDB developers already use. The tests
120themselves only cover a small portion of GDB features, and what tests
121do exist for a feature are not exhaustive. New tests are welcomed.
122
123
124HOW TO SUBMIT CHANGES
838a1ac1 125---------------------
87fe2d9d
FF
126
127Patches should be sent to [email protected]. Questions about the
128snapshots themselves, problems accessing the snapshots, etc can also be sent
129to the same email address. One of the GDB team members will take on the
130responsibility of responding to your questions or submitted patches.
131
132Do *not* send any questions about the snapshots or patches specific to
133the snapshots to [email protected] (gateway'd to the usenet group
134gnu.gdb.bug). Nobody there will have any idea what you are talking about
135and it will just cause confusion.
136
137Here are some simple guidelines for submitting patches:
138
139 o Use "context diffs" for patches. A typical command for generating
140 context diffs is "diff -rc gdb-old gdb-new".
141
142 o Use the "minimalist approach" for patches. That is, each patch
143 should address only one particular bug, new feature, etc. Do not
144 save up many unrelated changes and submit them all in one big
145 patch, since in general, the larger the patch the more difficult
146 it is for us to decide if the patch is either correct or
147 desirable. And if we find something about the patch that needs
148 to be corrected before it can be installed, we would have to reject
149 the entire patch, which might contain changes which otherwise would
150 be accepted if submitted separately.
151
152 o Submit a sample ChangeLog entry with your patch. See the existing
153 GDB ChangeLog for examples of what a ChangeLog entry should look
154 like. The emacs command ^X4A will create a ChangeLog entry header
155 for you.
156
838a1ac1 157
0f805efc 158BISON and BYACC
838a1ac1 159---------------
0f805efc 160
7508b5b2
FF
161GDB's language parsers are all portable, and can be compiled with bison,
162byacc, traditional Unix yacc, or other compatible parser generators.
0f805efc
FF
163For various reasons, Cygnus uses byacc rather than bison by default. When
164a general gdb distribution is made, this default is switched back to bison.
165The snapshots follow the Cygnus default. Your options, if you do not already
166have byacc installed, include:
167
168 o Hack the upper level Makefile.in lines that look like:
169
170 BISON = `if [ -f $${rootme}/byacc/byacc ] ; \
171 then echo $${rootme}/byacc/byacc ; \
172 else echo byacc ; \ <== change
173 fi`
174
7508b5b2 175 to replace "byacc" with either "yacc" or "bison -y".
0f805efc
FF
176
177 o Fetch the byacc snapshot from the same location as the gdb snapshots
178 and install byacc.
179
180 o Specify BISON=yacc on the make command line to override the default.
181
182
838a1ac1
FF
183UNIX MAKE and GNU MAKE
184----------------------
185
186When you build gdb in the same directory as the source, you should be able
187to use any available "make" that has traditional UNIX make functionality.
188If you build gdb in a separate directory tree from the source, using the
189configure "--subdir" option, then only GNU make is fully supported, although
190other makes with complete VPATH support should work (SunOS make for example).
191
192
193
87fe2d9d
FF
194Thanks for your help and support.
195
196-Fred Fish
197 Cygnus Support
198
This page took 0.065218 seconds and 4 git commands to generate.