Re: Contributing to gdb

Guinevere Larsen via Gdb
2024-06-17T12:22:44Z

On 6/14/24 6:52 PM, shaunak saha via Gdb wrote:
> Hi all,
>
> I am new to the community and I'd like to contribute to gdb. I have 15
> years of development experience in C mainly working in embedded
> domain. Went through the project ideas page
> "https://sourceware.org/gdb/wiki/ProjectIdeas". I would be interested
> to contribute in areas like Embedded Debugging, watchpoints or
> internals. Any suggestion would be great.
>
> Regards,
> Shaunak
>
Hello! Welcome welcome, we always love to have new contributors :)

My first thought with regards to that page is that I don't know how up
to date it is... the last update seems to be back in 2021, which is from
before I joined the project. That said, I think there is plenty of
things to do in the areas you mentioned.

For embedded debugging, unfortunately I have no idea what the situation is.

For watchpoints, the first bug that that page mentions is still open,
but apparently the last mention of anything related to it was in 2014
(the 2024 comment is unrelated), so you could first check if you can
still reproduce the issue, and maybe try to fix or close the bug if it
can't be reproduced anymore. I'm also a big fan of improving user
experience, so the second thing about watchpoints (and the misuse of the
word scope) is something I'd love to see, if you're interested in fixing it.

And for internals, if I may do a bit of promotion of my favorite area,
right now reverse debugging has a big problem: We rely on recording the
execution history of the inferior in a global variable, which is totally
not feasible if someone wants to record multiple inferiors at once. I'd
love to see a rework of this area that makes the history specific to an
inferior instead of relying on a global var. This could be pretty
complicated, as I don't exactly know how someone would go about doing
this and it might touch a couple different subsystems, but if you'd like
your first contribution to be tough as nails, I know I would love to see
it :)

Once you decided on something to work on, if it isn't something that
feels obvious to you or feels like it could depend on some design
decisions, I recommend sending a very simple prototype as an RFC to the
gdb-patches@sourceware list, so people can discuss if your approach
makes sense.

If you want some help understanding some bits of GDB, feel free to reach
out on IRC (#gdb on libera chat), and if you feel shy about asking
questions in public, feel free to reach to me privately :) (though I
mostly only answer on work hours for Brazil).

Just a heads up, too, if your patch isn't a trivial fix, you might need
to sign a bit of paperwork giving the copyright of changes to GDB to the
Free Software Foundation before we are able to accept the changes. I
mention this up front because I know a few people who were turned off by
the idea, even though the process itself isn't complicated.

--
Cheers,
Guinevere Larsen
She/Her/Hers