This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/26570] New: -fprofile-generate -fprofile-use cause memory corruption immediately
- From: "ahu at ds9a dot nl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Mar 2006 23:25:58 -0000
- Subject: [Bug tree-optimization/26570] New: -fprofile-generate -fprofile-use cause memory corruption immediately
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
This is reported:
recursor_cache.hh:58: warning: comparison between signed and unsigned integer
expressions
syncres.cc: In function â(static destructors for syncres.cc)â:
syncres.cc:649: note: file syncres.gcda not found, execution counts estimated
*** glibc detected *** corrupted double-linked list: 0xa7fba938 ***
When compiling only with -fprofile-generate, no errors get emitted. When adding
-fprofile-use later on when the program has been run once, the following
happens:
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -Ibackends/bind -pthread
-DSYSCONFDIR=\"/usr/local/etc\" -DLIBDIR=\"/usr/local/lib\"
-DLOCALSTATEDIR=\"/var/run\" -Ibackends/bind -D_GNU_SOURCE -Wall -O2
-fprofile-generate -fprofile-use -MT syncres.o -MD -MP -MF ".deps/syncres.Tpo"
-c -o syncres.o syncres.cc; \
then mv -f ".deps/syncres.Tpo" ".deps/syncres.Po"; else rm -f
".deps/syncres.Tpo"; exit 1; fi
recursor_cache.hh: In member function âbool
MemRecursorCache::predicate::operator()(const MemRecursorCache::StoredRecord&)
constâ:
recursor_cache.hh:58: warning: comparison between signed and unsigned integer
expressions
*** glibc detected *** corrupted double-linked list: 0xa7f55938 ***
syncres.cc: In function â_EuclideanRingElement
std::__gcd(_EuclideanRingElement, _EuclideanRingElement) [with
_EuclideanRingElement = int]â:
syncres.cc:649: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [syncres.o] Error 1
To repeat, check out the latest revision of PowerDNS as described on
http://wiki.powerdns.com, run ./configure, cd pdns, edit CXXFLAGS in Makefile
so it includes -fprofile-generate and/or -fprofile-use, then run 'make
pdns_recursor'. Error should appear immediately.
Confirmed on Ubuntu Breezy, FreeBSD 6.0, Debian Sid crosscompiling to x86_64.
--
Summary: -fprofile-generate -fprofile-use cause memory corruption
immediately
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ahu at ds9a dot nl
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26570