Category: Programming
-
GCC Exception Frames
When an exception is thrown in C++ and caught by one of the calling functions, the supporting libraries need to unwind the stack. With gcc this is done using a variant of DWARF debugging information. The unwind information is loaded at runtime, but is not read unless an exception is thrown. That means that the…
-
Concurrent linking
There is still work to do on gold. But once that is done, what is the next big step? In the long term we need an incremental linker, but I’m also interested in an idea which I call concurrent linking. A concurrent linker runs at the same time as the compiler. As each object file…
-
Gold Released
I have finally released gold, the new ELF linker I’ve been working on, to the free software world. It is now part of the GNU binutils. I sent an announcement to the binutils mailing list.
-
Compiler Warnings
There is an ongoing issue within gcc as to where warnings should be issued. The question is whether warnings should be issued only by the frontend, or whether it is also OK for the optimizers to issue them. The advantage of issuing warnings in the frontend are that warnings are independent of optimization level. Also,…
-
How Does the Gcc Organization Work?
How does the gcc compiler get written? Who works on it and why? It seems to puzzle some people. There are vast numbers of free software projects these days, far more than I try to keep track of. Among these, gcc is unusual in several respects. gcc is more than 20 years old as an…