Dear All, My collegues from the GGCC consortium have asked me to send the following announcement to this GCC mailing list.
Please reply to [EMAIL PROTECTED], [EMAIL PROTECTED] for any remarks and questions regarding GGCC ################################################################ ANNOUNCEMENT for the launch of the GlobalGCC [GGCC] project within the ITEA [Information Technology for European Advancement] programme GENERAL INFORMATION In September 2006, a 15-partners consortium has started to work on the GlobalGCC [GGCC] project, within the ITEA [Information Technology for European Advancement] programme (see http://www.itea2.org/). The GGCC project will last 30 months and is partly funded (around 30%-40%) by French, Spanish and Swedish public authorities. The partnership is composed of various types of entities (Small and Medium sized Enterprises (SMEs) +, big corporations ++, research labs and universities *) that are listed hereafter in alphabetical order per country: in France: Airbus/France (++), Bertin (+), CEA-LIST (*), INRIA-Futurs (*), Mandriva (+) in Spain: Aquiline (+), Answare (+), Base (+), IDI Eikon (+), SQS (+), Telefonica I+D (++), UPM (*) in Sweden: MySQL A.B (+), SICS (*), Syxoo (+) The project leader is Mandriva (the company behind the Mandriva ex-Mandrakesoft Linux distribution in France). OBJECTIVES OF THE PROJECT The GGCC (ITEA) project aims to extend the free GNU Compiler Collection by globally processing several compilation units (e.g. work on a whole program or on a library) in order to customize and configure GCC to European software industry needs : for performance level or for better diagnosis. The GGCC (ITEA) contribution will be GPL licenced free software, and will be proposed to the FSF. The GGCC (ITEA) consortium is determined to work in close cooperation with the GCC community and the FSF. In an effort to empower the mainline GCC4 compiler from FSF (which focuses on code generation quality and compilation speed) with advanced compile-time techniques, the GGCC (ITEA) project aims at integrating into a GCC4 branch sophisticated program-wide compile-time analyses. As a result of that, it is expected that GGCC be more resource consuming (e.g., it could run 10 times slower than the GCC4 compiler). In return for that speed loss, more program bugs are expected to be pinpointed, and programmers will be able to state properties to be met in their code. Additionally, all the good characteristics of GGCC (high-quality code, number of available back-ends, etc.) are expected to be kept. The GGCC (ITEA) product will be hosted on Unix/Posix/GNU/Linux environments. The GGCC (ITEA) project aims to extend GCC through continuing research efforts, providing tools, interfaces and documentation which will enable new approaches to be developed around program-wide static analysis techniques. The static analysis of GGCC (ITEA) will work on the GIMPLE internal representations of GCC, hence be usable for all the current source languages and target systems available today in GCC. The static analysis techniques projected for GGCC (ITEA) will be means permitting: 1. Global program-wide optimisation (because the properties inferred at a given call site may be propagated to avoid useless computations in the program; for example if on a given call site and calling context the static analyser determined that a pointer is not null, pointing to a local variable which is positive, this information can be used to optimise further on, etc...). 2. Hazard detections, that are warnings (for the developer using GGCC (ITEA) compiler) about possible threats like: if a function f() was called by g() called by h(x) with x>0 then at line 345 of foo.c there is a possible zero-divide fault. The challenge is to reduce the number of false positive alarms (which are stricto sensu unavoidable). 3. Coding rule validation: A formalism will be defined by the GGCC consortium to express coding rules, and to use static analysis techniques to validate some of them. To permit development of static analysis techniques, some work on the GCC infrastructure (in particular, persistency of GIMPLE internal representation and extensions of it) is required. CONTACT DETAILS The main contact person is Arnaud Laprévote who can be contacted at the following e-mail address: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> The GGCC web site is: www.ggcc.info (will be operational very soon) Comments and remarks are welcome and can be sent to the following e-mail address: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ################################################################ NB: all my other emails to this or other lists are only mine, and my own work on GCC is partly funded by this GGCC project (ITEA labelled) -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net 8, rue de la Faïencerie, 92340 Bourg La Reine, France