On Mon, Nov 28, 2016 at 5:29 PM, Danny Wilson <da...@torquevideo.tv> wrote:
> On 28/11/2016, at 8:07 PM, Alex Bligh wrote: > > > >> On 27 Nov 2016, at 16:09, Danny Wilson <da...@torquevideo.tv> wrote: > >> > >> The target machines uses an i5 CPU but the build machine is a core2 duo > which is why I chose 'native'. Not sure that was the right choice but it > works (without Valgrind). > >> > >> I've just tried -march as 'native', 'core2', and 'pentiumpro'. All > have the same result. > > > > Tried building the application, or tried building the standard library? > I think you said it was the latter where the illegal instructions were. > > > > Your distribution might (or might not) have a pentium-pro compatible > version for install. That should not have AVX instructions in (I would have > thought) > > -- > > Alex Bligh > > Hi Alex, rebuilding the standard libraries is a little beyond our scope > (and I'd figure it unlikely that such a basic function of the c++ library > had a memory leak. Something like that would be well published). As Tom > pointed out, it could also be from a std template compiled in from my > program. > > Good question now is how to disable generation of the unsupported > instructions... > > Based upon your prior report showing the illegal instruction associated with std:tr1 code (re-included below), I recommend you build GCC from source so that your C++ standard library is compiled with generic instructions. Building GCC sounds daunting but I do it all the time. My poorly curated notes are https://github.com/jeffhammond/HPCInfo/wiki/GCC if you like to copy+paste from the internet :-) Best, Jeff vex x86->IR: unhandled instruction bytes: 0xC5 0xF9 0x6E 0x45 ==29426== valgrind: Unrecognised instruction at address 0x406ae5a. ==29426== at 0x406AE5A: std::tr1::__detail::_Prime_ rehash_policy::_M_next_bkt(unsigned int) const (hashtable_policy.h:460) ==29426== by 0x4353724: std::tr1::_Hashtable<DvDbDataBaseObject*, DvDbDataBaseObject*, std::allocator<DvDbDataBaseObject*>, std::_Identity<DvDbDataBaseObject*>, equalp<DvDbDataBaseObject>, DvDbDataBaseObject::Hash, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, true, true>::_Hashtable(unsigned int, DvDbDataBaseObject::Hash const&, std::tr1::__detail::_Mod_range_hashing const&, std::tr1::__detail::_Default_ranged_hash const&, equalp<DvDbDataBaseObject> const&, std::_Identity<DvDbDa -- Jeff Hammond jeff.scie...@gmail.com http://jeffhammond.github.io/
------------------------------------------------------------------------------
_______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users