This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC GSOC 2019
- From: Martin Jambor <mjambor at suse dot cz>
- To: Shubham Narlawar <gsocshubham at gmail dot com>, gcc at gcc dot gnu dot org
- Cc: Andi Kleen <ak at linux dot intel dot com>
- Cc:
- Date: Mon, 18 Feb 2019 19:25:30 +0100
- Subject: Re: GCC GSOC 2019
- References: <CAN=hqDDWL29tcydr6Y_z4CjgfXV4-wkfhpGW0D3ohGjvr0QREQ@mail.gmail.com>
Hello Shubham,
On Sun, Feb 10 2019, Shubham Narlawar wrote:
> Hi,
>
> I am Shubham Narlawar. Currently, I am a Computer Engineering undergrad
> student at Pune University, India. I am interested in contributing to GCC
> for GSOC 2019.
>
> We have done a project from GCC GSOC 2018 idea list which is implementing
> Csmith fuzzer leveraging GCC C Extensions under the guidance of Andi Kleen.
>
> Csmith is a C fuzzer which generates standard C code but no extensions. We
> implemented few of GCC C extensions in Csmith (which now we call it as
> "Extended Csmith"). Extended Csmith is now able to fuzz extensions along
> with standard C code.
>
> Following GCC C Extensions are implemented in Csmith currently -
> 1. Labels as Values (Computed Goto)
> 2. Local Labels
> 3. Typeof
> 4. __int128 - Signed and unsigned integer of size 128 bits.
> 5. Cast to Union
> 6. Label attributes - hot cold
> 7. Variable attributes - a) aligned
> b) unused
> c) section
> 8. Binary constants
> 9. Statement Expression
>
> 10. Transactional memory relaxed - tm_relaxed (not a GCC C extension)
>
> Note - Different Combinations of these extensions can be used while
> generating random C code using extended csmith.
>
> Here is the github link of the project.
> https://github.com/Sameeranjoshi/csmith/tree/gcc-extensions
>
> Currently, We are running extended csmith on gcc10 of GCC Compile Farm
> Project and found following bugs -
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89135
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89153
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87118
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89223
>
> We expect to find more bugs in GCC as the gcc compiler is being stress
> tested now.
>
> Code coverage - Csmith vs Extended Csmith
>
> Csmith i.e. [without gcc extn ]
> line - 35.2
> function - 43.2
> branch - 25.7
>
> Extended Csmith [with gcc extn]
> line - 35.7
> function - 43.9
> branch - 26.1
>
> %gain
> line - 0.5%
> function - 0.7%
> branch - 0.4%
>
> For GSOC 2019, I am proposing below project idea -
>
> Implementation of following extensions in the Csmith -
> 1. Function attributes - aligned, alloc_align, always_inline, hot, cold,
> deprecated, nothrow, used, etc
> 2. Vector extensions
> 3. Transactional Memory extensions
> 4. Type attributes
> and remaining GCC C extensions.
>
> Benefits to GCC -
> 1. Increased code coverage.
> 2. There is a possibility of finding more bugs after adding the above
> extensions.
>
Thank you very much for sending us your project idea. I have noted
it down and am looking forward to your project submission (assuming
Google approves us as a participating organization, of course).
Meanwhile, if you have any technical questions, regarding the GCC
extensions you listed above, feel free to ask here on the list.
Thank you,
Martin