SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
GCC 4.8, State of the Onion

                       Dodji Seketeli <dodji@redhat.com>

              Distro Recipes Conference - April 2013 - Paris, France




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion          1/23
Breakup of the talk




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   2/23
GCC Development Plan




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   3/23
GCC Development Plan




     2 phases in the development time line of GCC




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.
     GCC 4.7 released in March 2012




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.
     GCC 4.7 released in March 2012
     GCC 4.8 released in March 2013




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
Diagnostics changes




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   5/23
-fdiagnostics-show-caret Option




Displays source code in diagnostic messages
t.cc:4:19: fatal error: foo: No such file or directory
#include <foo>
             ^
compilation terminated.



This option is on by default in in 4.8!




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   6/23
-Wsizeof-pointer-memaccess Option




Warns about the suspicious use of memory access function of the
C library, like in:
memset (ptr, 0, sizeof (ptr));



This option is turned on by -Wall




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     7/23
-ftrack-macro-location Option




     First appeared in 4.7 as an unstable tech preview.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   8/23
-ftrack-macro-location Option




     First appeared in 4.7 as an unstable tech preview.
     Ironed out, stabilized and set by default in 4.8




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   8/23
-ftrack-macro-location Option



Once upon a time, an error in the expansion of a macro was pain
(in the bottom of the back) to diagnose:
============> test.c <==============
     1 #define SHIFT(OP0, OP1) 
     2 OP0 << OP1
     3
     4 int
     5 main ()
     6 {
     7   return SHIFT (1, 1.1);
     8 }
==========================

===============> Error Diagnostics <=============
test.c: In function ’int main()’:
test.c:7:10: error: invalid operands of types ’int’ and ’double’ to binary ’operator<<’
===============================================




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion                            9/23
Option -ftrack-macro-location


Now, with this option, combined with -fdiagnostics-show-caret our
back is relieved:

============> test.c <==============
     1 #define SHIFT(OP0, OP1) 
     2 OP0 << OP1
     3
     4 int
     5 main ()
     6 {
     7   return SHIFT (1, 1.1);
     8 }
==========================

==========> Ce que le compilateur nous dira maintenant <========
test.c: In function ’main’:
test.c:2:6: error: invalid operands to binary << (have ’int’ and ’double’)
  OP0 << OP1
      ^
test.c:7:10: note: in expansion of macro ’SHIFT’
   return SHIFT (1, 1.1);
          ^
=================================================




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion               10/23
Changes in langage support




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   11/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.
     Thread variable - key word thread local
         thread_local int i;




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.
     Thread variable - key word thread local
         thread_local int i;
     Generalized attributes
         struct [[gnu::packed]] a_type_of_5_bytes
         {
            char premier;
            int second;
         };

Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11




     Alignment Expressions;




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   13/23
C++11




     Alignment Expressions;

  struct alignas (a_type_of_5_bytes) another_type
  {
    char c;
    int i;
  };




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   13/23
C++11




     Inherited Constructors




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   14/23
C++11




     Inherited Constructors
 struct A
 {
   A(int);
   A(const char*);
 };

 struct B : public A
 {
   using A::A; // <-- all constructors of B are generated here
 };

B b0("coucou"); // OK
B b1(10); // OK, too.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion    14/23
Other languages




Support of Fortran and Go was greatly improved too.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   15/23
Optimizations and Middle End changes




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   16/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.
     Address Sanitizer: New fast memory error detector on intel
     and ppc GNU/Linux and intel/Darwin. -fsanitize=address.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.
     Address Sanitizer: New fast memory error detector on intel
     and ppc GNU/Linux and intel/Darwin. -fsanitize=address.
     Thread Sanitizer: Data race memory error detector, on x86-64
     GNU/Linux. -fsanitize=thread.



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion       17/23
processor support




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   18/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land
             Support for new Broadwell architecture.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land
             Support for new Broadwell architecture.
             New built-in functions to detect CPU type at runtime:
              builtin cpu is(”westmere”); and
              builtin cpu supports(”sse”);



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        19/23
x86 CPU Support, continued


     Function Multi-versioning in G++: Create multiple versions of
     a function, each one targeting a specific processor or ISA.
     Example:
            __attribute__ ((target ("default")))
          int foo(void)
          {
             return 1;
          }

          __attribute__ ((target ("sse4.2")))
          int foo(void)
          {
            return 2;
          }

          int main (void)
          {
            int (*p) = &foo;
            assert ((*p)() == foo());
            return 0;
          }




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        20/23
x86 CPU Support, continued


     Function Multi-versioning in G++: Create multiple versions of
     a function, each one targeting a specific processor or ISA.
     Example:
            __attribute__ ((target ("default")))
          int foo(void)
          {
             return 1;
          }

          __attribute__ ((target ("sse4.2")))
          int foo(void)
          {
            return 2;
          }

          int main (void)
          {
            int (*p) = &foo;
            assert ((*p)() == foo());
            return 0;
          }

     AMD Steamroller and Jaguar Core. -march=bdver3 and
     -march=btver2.
Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        20/23
Architecture Change




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   21/23
Architecture Changes



GCC is now implemented in C++03.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.
     And compile time of the compiler didn’t increase! Quite the
     opposite.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.
     And compile time of the compiler didn’t increase! Quite the
     opposite.
A subset of C++ was chose, to avoid the Oil Refinery syndrome.
Code review is still the better quality insurance tool.



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Merci !




http://gcc.gnu.org - Drink the Cool Aid.
http://gcc.gnu.org/git - Code source repository
git clone git://gcc.gnu.org/git/gcc.git - git the sources!
http://news.gmane.org/gmane.comp.gcc.devel - Trolling, err,
discussions, sorry.
http://gcc.gnu.org/contribute.html - How to contribute. Yes, you!
gcc-patches@gcc.gnu.org - Where to send patches. Yes, you again.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion       23/23

Mais conteúdo relacionado

Mais procurados

Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugincudma
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformSZ Lin
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)Chris Simmonds
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded LinuxSherif Mousa
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto ProjectMarco Cavallini
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016Chris Simmonds
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysisxulioc
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Kernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootKernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootAnne Nicolas
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Anne Nicolas
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 

Mais procurados (20)

Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 Platform
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto Project
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Embedded Linux On A R M
Embedded  Linux On  A R MEmbedded  Linux On  A R M
Embedded Linux On A R M
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Kernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootKernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional boot
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 

Destaque

Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorAnne Nicolas
 
Kernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIKernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIAnne Nicolas
 
HyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsHyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsAnne Nicolas
 
Kernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelKernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelAnne Nicolas
 
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Anne Nicolas
 
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 -  New hwmon device registration API - Jean DelvareKernel Recipes 2016 -  New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 - New hwmon device registration API - Jean DelvareAnne Nicolas
 

Destaque (6)

Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
 
Kernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIKernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBI
 
HyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsHyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forums
 
Kernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelKernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panel
 
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
 
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 -  New hwmon device registration API - Jean DelvareKernel Recipes 2016 -  New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
 

Semelhante a Distro Recipes 2013: What&rsquo;s new in gcc 4.8?

Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features previewConcetto Labs
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
What's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsWhat's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsCarsten Ziegeler
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...mfrancis
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfuzair
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateAdam John
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentBrad Rippe
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?GlobalLogic Ukraine
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18Xiaoli Liang
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDBChris Simmonds
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016ManageIQ
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaMichael Bryzek
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and CoroutinesVMware Tanzu
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made EasyAlon Fliess
 

Semelhante a Distro Recipes 2013: What&rsquo;s new in gcc 4.8? (20)

Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features preview
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
What's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsWhat's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specs
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
 
D8 Dexer
D8 Dexer D8 Dexer
D8 Dexer
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New Update
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 Development
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing delta
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and Coroutines
 
How to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDKHow to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDK
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 

Mais de Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
 

Mais de Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Último

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Último (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Distro Recipes 2013: What&rsquo;s new in gcc 4.8?

  • 1. GCC 4.8, State of the Onion Dodji Seketeli <dodji@redhat.com> Distro Recipes Conference - April 2013 - Paris, France Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 1/23
  • 2. Breakup of the talk GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 2/23
  • 3. GCC Development Plan GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 3/23
  • 4. GCC Development Plan 2 phases in the development time line of GCC Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 5. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 6. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 7. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. GCC 4.7 released in March 2012 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 8. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. GCC 4.7 released in March 2012 GCC 4.8 released in March 2013 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 9. Diagnostics changes GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 5/23
  • 10. -fdiagnostics-show-caret Option Displays source code in diagnostic messages t.cc:4:19: fatal error: foo: No such file or directory #include <foo> ^ compilation terminated. This option is on by default in in 4.8! Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 6/23
  • 11. -Wsizeof-pointer-memaccess Option Warns about the suspicious use of memory access function of the C library, like in: memset (ptr, 0, sizeof (ptr)); This option is turned on by -Wall Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 7/23
  • 12. -ftrack-macro-location Option First appeared in 4.7 as an unstable tech preview. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 8/23
  • 13. -ftrack-macro-location Option First appeared in 4.7 as an unstable tech preview. Ironed out, stabilized and set by default in 4.8 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 8/23
  • 14. -ftrack-macro-location Option Once upon a time, an error in the expansion of a macro was pain (in the bottom of the back) to diagnose: ============> test.c <============== 1 #define SHIFT(OP0, OP1) 2 OP0 << OP1 3 4 int 5 main () 6 { 7 return SHIFT (1, 1.1); 8 } ========================== ===============> Error Diagnostics <============= test.c: In function ’int main()’: test.c:7:10: error: invalid operands of types ’int’ and ’double’ to binary ’operator<<’ =============================================== Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 9/23
  • 15. Option -ftrack-macro-location Now, with this option, combined with -fdiagnostics-show-caret our back is relieved: ============> test.c <============== 1 #define SHIFT(OP0, OP1) 2 OP0 << OP1 3 4 int 5 main () 6 { 7 return SHIFT (1, 1.1); 8 } ========================== ==========> Ce que le compilateur nous dira maintenant <======== test.c: In function ’main’: test.c:2:6: error: invalid operands to binary << (have ’int’ and ’double’) OP0 << OP1 ^ test.c:7:10: note: in expansion of macro ’SHIFT’ return SHIFT (1, 1.1); ^ ================================================= Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 10/23
  • 16. Changes in langage support GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 11/23
  • 17. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 18. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 19. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 20. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Thread variable - key word thread local thread_local int i; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 21. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Thread variable - key word thread local thread_local int i; Generalized attributes struct [[gnu::packed]] a_type_of_5_bytes { char premier; int second; }; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 22. C++11 Alignment Expressions; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 13/23
  • 23. C++11 Alignment Expressions; struct alignas (a_type_of_5_bytes) another_type { char c; int i; }; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 13/23
  • 24. C++11 Inherited Constructors Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 14/23
  • 25. C++11 Inherited Constructors struct A { A(int); A(const char*); }; struct B : public A { using A::A; // <-- all constructors of B are generated here }; B b0("coucou"); // OK B b1(10); // OK, too. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 14/23
  • 26. Other languages Support of Fortran and Go was greatly improved too. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 15/23
  • 27. Optimizations and Middle End changes GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 16/23
  • 28. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 29. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 30. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 31. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 32. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Address Sanitizer: New fast memory error detector on intel and ppc GNU/Linux and intel/Darwin. -fsanitize=address. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 33. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Address Sanitizer: New fast memory error detector on intel and ppc GNU/Linux and intel/Darwin. -fsanitize=address. Thread Sanitizer: Data race memory error detector, on x86-64 GNU/Linux. -fsanitize=thread. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 34. processor support GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 18/23
  • 35. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 36. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 37. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 38. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 39. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Support for new Broadwell architecture. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 40. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Support for new Broadwell architecture. New built-in functions to detect CPU type at runtime: builtin cpu is(”westmere”); and builtin cpu supports(”sse”); Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 41. x86 CPU Support, continued Function Multi-versioning in G++: Create multiple versions of a function, each one targeting a specific processor or ISA. Example: __attribute__ ((target ("default"))) int foo(void) { return 1; } __attribute__ ((target ("sse4.2"))) int foo(void) { return 2; } int main (void) { int (*p) = &foo; assert ((*p)() == foo()); return 0; } Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 20/23
  • 42. x86 CPU Support, continued Function Multi-versioning in G++: Create multiple versions of a function, each one targeting a specific processor or ISA. Example: __attribute__ ((target ("default"))) int foo(void) { return 1; } __attribute__ ((target ("sse4.2"))) int foo(void) { return 2; } int main (void) { int (*p) = &foo; assert ((*p)() == foo()); return 0; } AMD Steamroller and Jaguar Core. -march=bdver3 and -march=btver2. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 20/23
  • 43. Architecture Change GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 21/23
  • 44. Architecture Changes GCC is now implemented in C++03. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 45. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 46. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 47. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 48. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. And compile time of the compiler didn’t increase! Quite the opposite. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 49. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. And compile time of the compiler didn’t increase! Quite the opposite. A subset of C++ was chose, to avoid the Oil Refinery syndrome. Code review is still the better quality insurance tool. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 50. Merci ! http://gcc.gnu.org - Drink the Cool Aid. http://gcc.gnu.org/git - Code source repository git clone git://gcc.gnu.org/git/gcc.git - git the sources! http://news.gmane.org/gmane.comp.gcc.devel - Trolling, err, discussions, sorry. http://gcc.gnu.org/contribute.html - How to contribute. Yes, you! gcc-patches@gcc.gnu.org - Where to send patches. Yes, you again. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 23/23