------- Comment #34 from f dot knauf at mmkf dot de  2009-05-07 16:30 -------
I can confirm the behaviour for sparc-sun-solaris2.8, the first program
mentioned in the last comment complains as follows:

*******
mudflap violation 1 (check/write): time=1241712982.495997 ptr=ffbefac4 size=4
pc=ff288ac8
location=`/usr/local/lib/gcc/sparc-sun-solaris2.8/4.4.0/../../../../sparc-sun-solaris2.8/include/c++/4.4.0/bits/stl_tree.h:171:20
(std::_Rb_tree_iterator<std::pair<const int, int> >::_Rb_tree_iterator)'
      [0xff2876f0]
Nearby object 1: checked region begins 1B after and ends 4B after
mudflap object af548:
name=`/usr/local/lib/gcc/sparc-sun-solaris2.8/4.4.0/../../../../sparc-sun-solaris2.8/include/c++/4.4.0/bits/stl_map.h:539:23
(std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> >
>::insert) std::_Rb_tree_iterator<std::pair<const int, int> > __position'
bounds=[ffbefac0,ffbefac3] size=4 area=stack check=1r/0w liveness=1
alloc time=1241712982.495900 pc=ff2881a4
Nearby object 2: checked region begins 4B before and ends 1B before
mudflap object af440:
name=`/usr/local/lib/gcc/sparc-sun-solaris2.8/4.4.0/../../../../sparc-sun-solaris2.8/include/c++/4.4.0/bits/stl_map.h:447:11
(std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> >
>::operator[]) std::_Rb_tree_iterator<std::pair<const int, int> > __i'
bounds=[ffbefac8,ffbefacb] size=4 area=stack check=0r/1w liveness=1
alloc time=1241712982.495875 pc=ff2881a4
Nearby object 3: checked region begins 4B before and ends 1B before
mudflap dead object adc00:
name=`/usr/local/lib/gcc/sparc-sun-solaris2.8/4.4.0/../../../../sparc-sun-solaris2.8/include/c++/4.4.0/bits/stl_map.h:447:11
(std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> >
>::operator[]) std::_Rb_tree_iterator<std::pair<const int, int> > __i'
bounds=[ffbefac8,ffbefacb] size=4 area=stack check=0r/1w liveness=1
alloc time=1241712982.495593 pc=ff2881a4
dealloc time=1241712982.495861 pc=ff287d58
number of nearby objects: 3

I compiled it with a gcc 4.4.0 cross compiler from i486-linux-gnu to
sparc-sun-solaris2.8 (sparcv8), compiler options -fmudflap -lmudflap -lsocket
(the last one being necessary to link mudflap). I had to remove the getmntent
wrapper from the mudflap library because solaris 2.8 uses an interface
different from the one gcc expects. Other than that, the gcc sources the
compiler was built from were unchanged.

As on x86, the same program compiled with the same options plus -m64 (i.e., for
sparcv9) yields no mudflap errors.


-- 


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

Reply via email to