This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback
- From: "matz at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Jan 2009 17:12:46 -0000
- Subject: [Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback
- References: <bug-38977-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from matz at gcc dot gnu dot org 2009-01-30 17:12 -------
But special_function_p looks at the name of the function, which is
__builtin_setjmp in case the builtin is used explicitely:
% cat x.c
#include <setjmp.h>
jmp_buf env;
int f(void){ return __builtin_setjmp(env);}
% gdb --args cc1 x.c
(gdb) b special_function_p
...
474 if (fndecl && DECL_NAME (fndecl)
(gdb)
487 const char *name = IDENTIFIER_POINTER (DECL_NAME (fndecl));
(gdb)
488 const char *tname = name;
(gdb) p name
$3 = 0x7ffff7f60460 "__builtin_setjmp"
Up to now, it's only a theory that it might be setjmp related, purely because
it's jobs.c of bash which exhibits the error, and presumably jobs.c deals
with, well, jobs and forks, and possibly setjmps around.
But what we do know is, that its indeed Ben's patch. Reverting it lets
bash build again.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38977