This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.
> Be aware that __builtin_return_address probably will stop working > someday in gcc. Read my latest tirade to get an idea of why that is. Craig, gcc is the GNU project's compiler. That means that one of its important roles is to be able to compile kernels (Linux or the Hurd). Since you're the Fortran guy, you are somewhat insulated from these issues (Fortran just doesn't make provisions for writing "close to the machine" code). The result is that gcc is going to have to continue to support certain extensions for the indefinite future (though kernel developers should not assume that "it worked in version x.y.z" is a commitment for the future, we will need to supply some mechanisms in some cases. It may actually be easier to support features like this if they are specified at a higher level of abstraction. That is, understand why Linus is using some trick to do something, and then recommend alternative ways to do them that are actually supportable. e.g. if the real job is to get a stack trace, maybe there could be some facility to provide for that directly, possibly borrowing some code from gdb. Despite Linus's tendency to be insulting, he is one our most important "customers" (or, more accurately, the people who depend on the Linux kernel working are). We need to have sufficient facilities so that C plus inline assembly can do the whole job.