[Bug lto/54702] [4.8 Regression] lto1: internal compiler error: verify_cgraph_node failed

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Sep 25 13:16:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54702

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-25 13:16:22 UTC ---
(In reply to comment #4)
> (In reply to comment #3)
> > Created attachment 28266 [details]
> > patch
> > 
> > builtins should simply not be in the assembler name hash (that fixes the
> > issue).
> > That of course makes things more inconsistent even from the middle-end side,
> > but the asm hash forcefully computes assembler names (suspect for alloca, too).
> > 
> > Let's hope the rest of the middle-end doesn't care either way (and we don't
> > end up streaming loads of duplicate cgraph nodes for builtins).
> 
> Guess Bug 54625 is dup of this issue.

Yes.  Adding your testcases.

> With your patch I'm getting:
> 
> /var/tmp/gcc_build_dir/./gcc/xgcc -B/var/tmp/gcc_build_dir/./gcc/
> -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem
> /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include
> -DHAVE_CONFIG_H -I. -I/home/markus/gcc/libmudflap -Wall -ffunction-sections
> -fdata-sections -march=native -O3 -pipe -MT mf-hooks1.lo -MD -MP -MF
> .deps/mf-hooks1.Tpo -c /home/markus/gcc/libmudflap/mf-hooks1.c  -fPIC -DPIC -o
> .libs/mf-hooks1.o
> In file included from /home/markus/gcc/libmudflap/mf-hooks1.c:59:0:
> /home/markus/gcc/libmudflap/mf-hooks1.c: In function ‘calloc’:
> /home/markus/gcc/libmudflap/mf-impl.h:346:15: warning: typedef ‘__mf_fn_memset’
> locally defined but not used [-Wunused-local-typedefs]
>   typedef ty (*__mf_fn_ ## fname) (__VA_ARGS__);       \
>                ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:139:3: note: in expansion of macro
> 'DECLARE'
>    DECLARE(void *, memset, void *, int, size_t);
>    ^
> /home/markus/gcc/libmudflap/mf-hooks1.c: At top level:
> /home/markus/gcc/libmudflap/mf-impl.h:340:5: error: ‘__wrap_malloc’ aliased to
> undefined symbol ‘malloc’
>  ret __wrap_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:98:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, malloc, size_t c)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:342:5: error: ‘__real_alloca’ aliased to
> undefined symbol ‘alloca’
>  ret __real_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:551:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, alloca, size_t c)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:340:5: error: ‘__wrap_alloca’ aliased to
> undefined symbol ‘alloca’
>  ret __wrap_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:551:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, alloca, size_t c)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:342:5: error: ‘__real_free’ aliased to
> undefined symbol ‘free’
>  ret __real_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:233:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void, free, void *buf)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:340:5: error: ‘__wrap_free’ aliased to
> undefined symbol ‘free’
>  ret __wrap_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:233:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void, free, void *buf)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:342:5: error: ‘__real_realloc’ aliased to
> undefined symbol ‘realloc’
>  ret __real_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:176:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, realloc, void *buf, size_t c)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:340:5: error: ‘__wrap_realloc’ aliased to
> undefined symbol ‘realloc’
>  ret __wrap_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:176:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, realloc, void *buf, size_t c)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:342:5: error: ‘__real_calloc’ aliased to
> undefined symbol ‘calloc’
>  ret __real_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:134:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, calloc, size_t c, size_t n)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:340:5: error: ‘__wrap_calloc’ aliased to
> undefined symbol ‘calloc’
>  ret __wrap_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:134:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, calloc, size_t c, size_t n)
>  ^
> /home/markus/gcc/libmudflap/mf-impl.h:342:5: error: ‘__real_malloc’ aliased to
> undefined symbol ‘malloc’
>  ret __real_ ## fname (__VA_ARGS__)                    \
>      ^
> /home/markus/gcc/libmudflap/mf-hooks1.c:98:1: note: in expansion of macro
> 'WRAPPER'
>  WRAPPER(void *, malloc, size_t c)
>  ^

Hm, ok.  So back to trying not to merge them only.



More information about the Gcc-bugs mailing list