Fuzzer extension for gcc

2018-06-10 Thread sameeran joshi
Hi all,I have been figuring out to work on some project,so while searching
I found fuzzer implementation project quite interesting,so please can I get
some information and links about the extension of fuzzer project for gcc .
Can anyone help me please.


gcc-9-20180610 is now available

2018-06-10 Thread gccadmin
Snapshot gcc-9-20180610 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/9-20180610/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 9 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 261389

You'll find:

 gcc-9-20180610.tar.xzComplete GCC

  SHA256=3aba0de4dcf55be7497b211d4d7b3e3b2fb9b585df5b06cc3fb45ebc630c3ced
  SHA1=41c5b432f2c838e6739064a82300c1fca1f40d74

Diffs from 9-20180603 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-9
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


Re: Fuzzer extension for gcc

2018-06-10 Thread Andi Kleen
On Sun, Jun 10, 2018 at 12:49:44PM +0530, sameeran joshi wrote:
>Hi all,I have been figuring out to work on some project,so while searching
>I found fuzzer implementation project quite interesting,so please can I
>get some information and links about the extension of fuzzer project for
>gcc .
>Can anyone help me please.

Hi,

The deadline for the Google Summer of code project this year has already passed,
so at least for this year it's not possible as a paid project.

However if you're still interested in working on it outside of SoC 
you're welcome of course.

The basic project is to extend an existing C language fuzzer, such
as https://embed.cs.utah.edu/csmith/ or
https://github.com/intel/yarpgen
to cover gcc language extensions,
run it against the compiler and report compiler crashes it finds.

For a description of the gcc language extensions please see 
https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/#toc-Extensions-to-the-C-Language-Family

In addition there are other extensions, such as OpenMP, or the
transactional memory extensions.
https://www.openmp.org/specifications/
https://gcc.gnu.org/wiki/TransactionalMemory

Tasks: 
- Investigate the documentation of some extensions and understand their scope
Pick a reasonable set to implement. For a short term project this
could be one or more simple extensions, or for a longer project this could be
a subset of a complex extension, such as a OpenMP
- Investigate the chosen extensions the code base of one the fuzzers
- Run fuzzing against the compiler
- See if it crashes the compiler or generates invalid output
- Investigate bug reports to see if they are not malformed
- Submit bugs

The main challenge of the project is to understand some extensions well
enough that you can implement a fuzzer and implement them 
in a way that the resulting randomly generated code is not malformed.

-Andi