Differences between revisions 7 and 8
Revision 7 as of 2009-03-16 14:09:01
Size: 5844
Editor: c952d3a0
Comment: expand on ideas for the Python scripting support.
Revision 8 as of 2009-03-19 01:55:54
Size: 5898
Editor: c952315d
Comment: Mention that students can work in GDB through the GNU Project organization.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
This page lists ideas for projects which GDB would like to have implemented by GSoC students. We may also consider items which are not in this list. Please discuss your chosen idea with the GDB community before applying for the GSoC. You can find us in the #gdb channel at Freenode, but we prefer that GSoC discussions happen in the GDB mailing list, namely ''gdb [at] sourceware.org''. The [[http://www.gnu.org/software/soc-projects/guidelines.html|GNU guidelines for Summer of Code projects]] has good tips which will help you submit a proposal with more chances of being successful. We recommend that you read them. This page lists ideas for projects which GDB would like to have implemented by GSoC students. We may also consider items which are not in this list. Please discuss your chosen idea with the GDB community before applying for the GSoC. You can find us in the #gdb channel at Freenode, but we prefer that GSoC discussions happen in the GDB mailing list, namely ''gdb [at] sourceware.org''
Line 8: Line 8:

Students can work on GDB ideas through the GNU Project organization. Please read the [[http://www.gnu.org/software/soc-projects/guidelines.html|GNU guidelines for Summer of Code projects]], it has good tips which will help you submit a proposal with more chances of being successful.

Introduction

This page lists ideas for projects which GDB would like to have implemented by GSoC students. We may also consider items which are not in this list. Please discuss your chosen idea with the GDB community before applying for the GSoC. You can find us in the #gdb channel at Freenode, but we prefer that GSoC discussions happen in the GDB mailing list, namely gdb [at] sourceware.org

  • /!\ Important: GDB is a project under the Free Software Foundation, which requires that all contributions incorporated by its projects have their copyrights assigned to the FSF. Because of this, you need to have your copyright assignment papers on file before you can start working on any GSoC project for GDB. More information about this is in this page. Please contact the GDB community (on IRC or mailing list) if you have questions about this requirement.

Students can work on GDB ideas through the GNU Project organization. Please read the GNU guidelines for Summer of Code projects, it has good tips which will help you submit a proposal with more chances of being successful.

Ideas

We collect ideas for the GDB project in the ProjectIdeas page. The ones we think would make interesting GSoC projects were cherry-picked to this page, and expanded. You are of course welcome to submit proposals for other ideas from that page, or even ideas of your own.

If you are seriously considering and preparing to work on a GSoC project in GDB, read the DeveloperTips, the GDB Internals document (very incomplete, but gives an idea on how GDB is organized internally) and the CONTRIBUTE document in <gdb-src>/gdb/CONTRIBUTE.

Help with Python scripting support

Some things a student could work on:

  • Tromey's plan for python inferiors, threads, and events (also, see the other messages in the thread).

  • Support events for signals received by the inferior, expanding on the work above.
  • Support for writing useful "executables" purely in Python. This would mean modifying the gdb startup sequence (so a script could be used in a pipeline) and maybe adding command-line options. One example of a tool like this would be a generalized strace, like frysk's ftrace. There's initial support for this already, but it needs to be expanded.
  • Provide a suitable mechanism for GDB to ship Python scripts, possibly based on the "require" command which is implemented in the Python branch.

The PythonGdb page has more ideas for future work.

Support pipes in the run command (this may be too small for a GSoC)

An interested student mentioned that he will work on this while GSoC doesn't start.

Support tracepoints in gdbserver

Fix bugs in the bugzilla

GDB has a lot of bug tickets open in bugzilla, mainly because no one has been attention to them in the past few years. Having someone sift through the backlog and fix those bugs (or close them if it's verified that they aren't valid anymore) would be a great help.

This project would be very open-ended, with the mentor and student choosing bugs to fix as they progress.

You can use a bugzilla query to get the complete list of bugs. A lot of them are old and/or unconfirmed, so the first step is to always confirm if you can reproduce the bug first.

A really incomplete sample of some bug tickets which we have there:

  • bugs:
    • #9907: gdb 6.8.50.20090225-cvs crashed while reading coredump

    • #9282: Enum support in dwarf reader is inconsistent

    • #9723: gdb breakpoints silently fail on PIE binaries

    • #9711: Quadratic slowdown in backtrace for deep stack traces

  • feature requests:
    • #9829: add switch/param to make bt/backtrace print name of binary for each frame

    • #9174: gdb can't handle PIE (this sounds like a difficult one)

  • code cleanups (we also have some of those in the ProjectPlan, and a lot of deprecated_* functions in the source code):

    • #9877: -Wmissing-prototypes

    • #9878: -Wstrict-prototypes

In addition, if I understood teawater well, we need help in writing testcases for reversible debugging. Since it doesn't sound like it would take the whole summer to work on this, an interested student could work on testcases for reversible debugging as part of the bugzilla fixes task.

None: SummerOfCode2009/Ideas (last edited 2009-03-19 01:55:54 by c952315d)

All content (C) 2008 Free Software Foundation. For terms of use, redistribution, and modification, please see the WikiLicense page.