This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/39394] gcc 4.4.0 20090306 segfaults at argp-help.c in glibc 2.7 and 2.9
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Mar 2009 11:09:58 -0000
- Subject: [Bug c/39394] gcc 4.4.0 20090306 segfaults at argp-help.c in glibc 2.7 and 2.9
- References: <bug-39394-17402@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from jakub at gcc dot gnu dot org 2009-03-09 11:09 -------
Confirmed. Simplified testcase:
extern inline void *
asmfn (void *dest, const void *src, unsigned long n)
{
asm volatile (""
: "=m" (*(struct { char x[n]; } *) dest)
: "r" (n), "r" (dest), "r" (src),
"m" (*(struct { char x[n]; } *) src)
: "cc");
return dest;
}
extern inline void
baz (char *dest, const char *str, unsigned long len)
{
if (__builtin_constant_p (len))
asmfn (dest, str, len + 1);
else
asmfn (dest, str, len);
}
extern inline void
bar (char *dest, const char *str)
{
baz (dest, str, __builtin_strlen (str));
}
void
foo (char *dest, const char *str)
{
bar (dest, str);
}
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|tree-optimization |c
Keywords|ice-on-valid-code |
Known to fail|4.4.0 |
Known to work|4.3.1 |
Priority|P3 |P1
Last reconfirmed|0000-00-00 00:00:00 |2009-03-09 11:09:57
date| |
Summary|[4.4 regression] ICE in |gcc 4.4.0 20090306 segfaults
|copy_tree_body_r |at argp-help.c in glibc 2.7
| |and 2.9
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39394