------- Comment #2 from janis at gcc dot gnu dot org  2009-12-10 17:25 -------
The ICE happens with either -m32 or -m64, but after this same patch eon
segfaults in a destructor when compiled with "-m32 -O2 -fPIC" when built with
GCC with secureplt enabled.  valgrind reports some other invalid accesses
before that segfault.  valgrind also complains about mismatched
free()/delete/delete[] in eon, which can be fixed by patching ggString.h with

@@ -89,7 +89,7 @@ private:
         ~StringRep();
         void *operator new(size_t, unsigned long len);
         void *operator new(size_t s) { return new char[s]; }
-//        void operator delete(void *p) { delete p; }
+        void operator delete(void *p) { delete [] (char *)p; }
         int len;
         int refs;
         char str[1];

Peter, can you get someone to look at this further?  I've got a setup to build
and run eon outside of the SPEC framework.


-- 


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

Reply via email to