GSoC 2020 | Introduction | Shivam Mittal

Greetings lldb community,

I am Shivam Mittal. I am a 4th year student pursuing BTech in Computer Science and Engineering at Indian Institute of Technology Madras, Chennai, India.
I am interested in working on the project “Reimplement LLDB’s command-line commands using the public SB API.” for GSoC. I have good experience in working with C++, Python, Java. I have used llvm before for some of my course projects. This is my second time applying for GSoC and I have completed GSoC once with The Eclipse Foundation.
I haven’t contributed to llvm before and it would be very helpful if someone could point me to some resources to get started (maybe some beginner issues).

Thanks and Regards
Shivam Mittal
shivammittal99@gmail.com

Hello Shivam,

I Cc’d Adrian and Jim, project mentor and Sourabh, an experienced LLDB contributor from India to introduce you.

I don’t have much LLDB knowledge to explain the project but I can point you to get involved in the community. So now only giving you lookups to start from:-

First, read documentation from LLVM and LLDB websites:-

https://llvm.org/docs/GettingStartedTutorials.html

https://lldb.llvm.org/use/tutorial.html

LLVM introduction by project author Chris Lattner:-

http://www.aosabook.org/en/llvm.html

LLVM organized developer meetings in which various tutorials were presented. Search them for your need:-

https://llvm.org/devmtg/

LLVM source code is self-documented and generates Doxygen documents. You can refer that:-

https://llvm.org/doxygen/

Try to implement toy language frontend using LLVM:-

https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html

You can read lldb-dev mailing list archive to know what’s are going in last few months:-

http://lists.llvm.org/pipermail/lldb-dev/

As a start point you can contribute in documentation to understand the patch submission process:-

https://llvm.org/docs/Contributing.html

https://secure.phabricator.com/book/phabricator/article/arcanist/

LLVM Bugzilla is a good source to look at available bugs:-

https://bugs.llvm.org/buglist.cgi?quicksearch=lldb

I like “LLVM essential” book by Suyog Sarda and Mayur Pandey to learn LLVM in a systemic way. You can purchase it from here:-

https://www.packtpub.com/in/application-development/llvm-essentials

And I am also a beginner to LLVM like you so always available to help or learn.

As you have little time left to submit a draft proposal make your priority accordingly.

Discuss and ask specific questions from your project mentors.

Good luck,

Shivam