public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: Rishi Raj <rishiraj45035@gmail.com>, gcc@gcc.gnu.org
Subject: Re: [GSOC] Looking for small patch/project to work on
Date: Mon, 06 Mar 2023 11:25:16 -0500	[thread overview]
Message-ID: <aef0a5e40bf9fda491a4ecf11ef48d8574a107f7.camel@redhat.com> (raw)
In-Reply-To: <CA+1a67OTLwfiQpmyvmJabbGQPbyNSq6qsZJTmFoFi=jZPDa0-A@mail.gmail.com>

On Sat, 2023-03-04 at 08:11 +0530, Rishi Raj via Gcc wrote:
> Hi everyone,

Hi, and welcome!

> 
> My name is Rishi Raj, and I am a third-year undergraduate studying
> Computer
> Science and Engineering at the Indian Institute of Technology
> Kharagpur in
> India. I wish to participate in this year's GSOC with GCC.
> 
> My progress so far:
> 
>    1. Successfully built the GCC from source using the installing gcc
>    guide. (I will run the test suite today.)
>    2. Read about different configuration options during installations
> and
>    also went through the gcc-newbies-guide, which was an exciting
> read and
>    provided an overview of how to proceed in gcc-contribution. I want
> to
>    extend my appreciation to David for this.

Thanks.  You've already built GCC from source, which is a great start.
A good thing to try next (if you haven't already) would be to try
hacking in a warning that emits:
  "hello world, I'm compiling function 'foo'"
for each function being compiled, and compile something with that...
and then do it again in the debugger, with a breakpoint on that, and
step through some of the code, as per:
https://gcc-newbies-guide.readthedocs.io/en/latest/getting-started.html#hello-world-from-the-compiler

The point here is to get you and your development environment to the
point where you can comfortably make a simple change to GCC's source,
rebuild it and quickly see the results of your edits (without having to
wait ages), and for you to get comfortable stepping through it in the
debugger.

Let me know if you run into issues (which could suggest improvements to
the guide).

> 
> After reading about the suggested projects described on GCC's GSOC
> page, I
> found "Bypass assembler when generating LTO object files" and "C++:
> Implement compiler built-in traits for the standard library traits"
> interesting. Currently, I am examining the preliminary patch
> https://gcc.gnu.org/ml/gcc/2014-09/msg00340.html for the first
> project. 

FWIW I'm not particularly expert at the specific areas of GCC relating
to the two projects you mentioned, so hopefully others on this list can
give advice/mentoring with those.

> I
> can work on a small project/patch after this in a day or two. I would
> greatly appreciate your suggestions for the same.

I'm biased here in favor of my own subproject, the static analyzer; as
discussed in the recent "[GSoC][Static Analyzer] Ideas for proposal"
thread on this list there are dozens of RFEs against the "analyzer"
component in our bugzilla, many of which are relatively small.  That
said analyzer is quite complicated, so I don't know if that's a good
first warm-up for someone who isn't planning to work on the analyzer
for their GSoC project.

We have an "easyhack" keyword in our bugzilla which you could try
searching on that.  Unfortunately, people's definitions of what is easy
vary, and I don't think anyone's been curating that list recently, so
you might want to check in here with the URLs of the things that catch
your eye to make sure they're reasonable first projects.

> 
> I have taken compiler theory and laboratory courses as a part of my
> institute curriculum. In the laboratory, we designed a tiny-c
> compiler (a
> subset of GCC). In theory, I learned about different phases of
> compilations, various optimization techniques, etc.
> 
> Please find my course website link for a detailed overview:
> https://cse.iitkgp.ac.in/~bivasm/compiler2022.html#Lecture
> 
> This course was the starting point of my interest in compiler
> development,
> and I want to take it further by making meaningful contributions to
> GCC. I
> hope to make some significant contributions to GCC this summer and in
> the
> future. I would appreciate any suggestions on taking on a small
> patch/project or delving deeper into the projects I am interested in
> pursuing.

It sounds like you have a lot of relevant knowledge; I hope we can find
you something you'll enjoy working on.

Let me know if you have any questions

Hope this is helpful; welcome again.
Dave


  reply	other threads:[~2023-03-06 16:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-04  2:41 Rishi Raj
2023-03-06 16:25 ` David Malcolm [this message]
2023-03-08 12:52 ` Martin Jambor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aef0a5e40bf9fda491a4ecf11ef48d8574a107f7.camel@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=rishiraj45035@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).