URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [insight/] [gdb/] [CONTRIBUTE] - Rev 1765
Compare with Previous | Blame | View Log
Contributing to GDBGDB is a collaborative project and one which wants to encourage newdevelopment. You may wish to fix GDB bugs, improve testing, port GDBto a new platform, update documentation, add new GDB features, and thelike. To help with this, there is a lot of documentationavailable.. In addition to the user guide and internals manualincluded in the GDB distribution, the GDB web pages also contain muchinformation.You may also want to submit your change so that can be considered forconclusion in a future version of GDB (see below). Regardless, weencourage you to distribute the change yourself.If you don't feel up to hacking GDB, there are still plenty of ways tohelp! You can answer questions on the mailing lists, writedocumentation, find bugs, create a GDB related website (contribute tothe official GDB web site), or create a GDB related softwarepackage. We welcome all of the above and feel free to ask on the GDBmailing lists if you are looking for feedback or for people to reviewa work in progress.Ref: http://sourceware.cygnus.com/gdbFinally, there are certain legal requirements and style issues whichall contributors need to be aware of.o Coding StandardsAll contributions must conform to the GNU Coding Standard.http://www.gnu.ai.mit.edu/prep/standards_toc.htmlSubmissions which do not conform to the standards will bereturned with a request to reformat the changes.For GDB, that standard is more tightly defined. GDB'scoding standard is determined by the output ofgnu-indent.This situation came about because, by the start of '99,GDB's coding style was so bad an inconsistent that it wasdecided to restart things from scratch.o Copyright AssignmentThere are certain legal requirementsBefore we can accept code contributions from you, we need acopyright assignment form filled out.If you've developed some addition or patch to GDB that youwould like to contribute, you should fill out a copyrightassignment form and send it in to the FSF. We are unable touse code from you until this is on-file at the FSF, so getthat paperwork in! This form covers one batch of changes.Ref: http://gcc.gnu.org/fsf-forms/assignment-instructions.htmlIf you think you're going to be doing continuing work on GDB, itwould be easier to use a different form, which arranges toassign the copyright for all your future changes to GDB. It iscalled assign.future. Please note that if you switchemployers, the new employer will need to fill out thedisclaim.future form; there is no need to fill out theassign.future form again.Ref: http://gcc.gnu.org/fsf-forms/assign.futureRef: http://gcc.gnu.org/fsf-forms/disclaim.futureThere are several other forms you can fill out for differentcircumstances (e.g. to contribute an entirely new program, tocontribute significant changes to a manual, etc.)Ref: http://gcc.gnu.org/fsf-forms/copyrights.htmlSmall changes can be accepted without a copyright assignmentform on file.This is pretty confusing! If you are unsure of what isnecessary, just ask the GDB mailing list and we'll figure outwhat is best for you.Note: Many of these forms have a place for "name ofprogram". Insert the name of one program in that place -- inthis case, "GDB".o Submitting PatchesEvery patch must have several pieces of information before wecan properly evaluate it.A description of the bug and how your patch fixes thisbug. A reference to a testsuite failure is very helpful. Fornew features a description of the feature and yourimplementation.A ChangeLog entry as plaintext (separate from the patch); seethe various ChangeLog files for format and content. Note that,unlike some other projects, we do require ChangeLogs also fordocumentation (i.e., .texi files).The patch itself. If you are accessing the CVS repository at:Cygnus, use "cvs update; cvs diff -c3p"; else, use "diff -c3pOLD NEW" or "diff -up OLD NEW". If your version of diff doesnot support these options, then get the latest version of GNUdiff.We accept patches as plain text (preferred for the compilersthemselves), MIME attachments (preferred for the web pages),or as uuencoded gzipped text.When you have all these pieces, bundle them up in a mailmessage and send it to gdb-patches@sourceware.cygnus.com. Allpatches and related discussion should be sent to thegdb-patches mailinglist. For further information on the GDBCVS repository, see the Anonymous read-only CVS access andRead-write CVS access page.--Supplemental information for GDB:o Please try to run the relevant testsuite before and aftercommitting a patchIf the contributor doesn't do it then the maintainer will. Acontributor might include before/after test results in theircontribution.o For bug fixes, please try to include a way ofdemonstrating that the patch actually fixes something.The best way of doing this is to ensure that thetestsuite contains one or more test cases thatfail without the fix but pass with the fix.People are encouraged to submit patches that extendthe testsuite.o Please read your patch before submitting it.A patch containing several unrelated changes orarbitrary reformats will be returned with a requestto re-formatting / split it.o If ``gdb/configure.in'' is modified then you don'tneed to include patches to the regenerated file``configure''.The maintainer will re-generate those filesusing autoconf (2.13 as of 2000-02-29).o If ``gdb/gdbarch.sh'' is modified, you don'tneed to include patches to the generated files``gdbarch.h'' and ``gdbarch.c''.See ``gdb/configure.in'' above.o When submitting a patch that fixes a bugin GDB's bug database a brief referenceto the bug can be included in the ChangeLogvis* CONTRIBUTE: Mention PR convention.Fix PR gdb/4705.The text ``PR gdb/4705'' should also be includedin the CVS commit message. That causes thepatch to automatically be archived with the PR.
