From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 67A3D3858D37 for ; Wed, 6 Apr 2022 16:45:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 67A3D3858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 26C861F38A; Wed, 6 Apr 2022 16:45:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1649263536; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=zBNfeo8U2zftoEwqI+525Gh0VpOCGhED51AtKK+CvsE=; b=TCPv4iYWdgbmZKyX7mTbSDWiYlakh2Q8HclVN2w9xVe+Jf44tRQAVei3Jps/+YetodyLI/ RhdZ/jUpwuY2Gbgye5HTneESR4337ue1V9CfwaEYqXQfBtFjdTRNNL7EeFoVIgAU/4fpFE RVGDttHx8XeEAnahuzrLMi8AZnm1My4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1649263536; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=zBNfeo8U2zftoEwqI+525Gh0VpOCGhED51AtKK+CvsE=; b=byTpunfvBmmOSO3VJksOVfWYKz85QG+n7kZZ5p6MjgiReL63T3oXr+uNhTBHjAqOacE5ru 0VTDZmubeSm0EfAg== Received: from suse.cz (virgil.suse.cz [10.100.13.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 0216DA3B82; Wed, 6 Apr 2022 16:45:35 +0000 (UTC) From: Martin Jambor To: SAYAN MANDAL Cc: gcc@gcc.gnu.org Subject: Re: GSoC contributor for GCC In-Reply-To: References: User-Agent: Notmuch/0.35 (https://notmuchmail.org) Emacs/27.2 (x86_64-suse-linux-gnu) Date: Wed, 06 Apr 2022 18:45:35 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2022 16:45:38 -0000 Hello, On Thu, Mar 31 2022, SAYAN MANDAL via Gcc wrote: > Sir, > I am a second year student from VIT, Vellore willing to participate in GSoC > and contribute to GCC. We are very happy that you are interested in contributing to GCC. > I am really sorry for this late application. The > reasons for choosing it are as follows > 1. I am using GCC and GDB for C, C++ and NASM programming and I am > comfortable with most of the features of GCC > 2. Since it has been a great asset in my learning journey, I want to > contribute to its development > 3. I am willing to learn any additional compiler technologies needed for it This might be a bit challenging but don't let that deter you. > > I am mostly interested in bypassing assembler in > 1. Generating LTO object files For this project you'd need to learn about the concept of Intermediate Representation (IR), often also called Intermediate Language (IL). The goal of the task is simply to be able to dump it to a file and then read it back without using the assembler to do so. I do not know about any particularly good resource to introduce you to the concept but googling "Intermediate Representation" seems to return some good looking stuff. The IR you will be working on is GIMPLE which is somewhat described https://gcc.gnu.org/onlinedocs/gccint/#toc-GIMPLE-1 but ultimately you'll probably mostly learn about it from reading the code, don't let the manual discourage you. To learn about LTO, follow the advice in the last bullet point of https://gcc.gnu.org/wiki/SummerOfCode#Before_you_apply > 2. Making cp-demangle non-recursive This project does not require any thorough knowledge of compiler theory, the task is quite compact but also a bit convoluted. You need to understand the algorithmic problem and show that you have a good plan how to address it. (It has been discussed recently on this mailing list, you can look it up in the archives). > > Please let me know what I need to do in order to become a part of the GCC Assuming you want to contribute within GSoC, you need to write a good GSoC application (project proposal). In that you need to demonstrate you understand the project goal, know what needs to be done on a high level, have the skills to implement it, and present a rough time-plan how you'd like to proceed. Feel free to ask for assistance in your research on this mailing list, we want applicants to succeed and try to help as much as we can, but do not expect to be entirely guided by us. Good luck! Martin