Welcome to the new Parasoft forums! We hope you will enjoy the site and try out some of the new features, like sharing an idea you may have for one of our products or following a category.

Do not use GCC-4.9 with Insure++

Billy McMullin
Billy McMullin Posts: 64 admin

Insure++ needs to take the address of entities in order to track them. But, references cannot have their address taken, so Insure++ creates a shadow pointer variable pointing to the thing that is being referenced. It then does a normal pointer check against this shadow pointer.

When using GCC-4.9, there is a known issue with this compiler where it is mis-compiling the code and writing stack garbage into the shadow pointer that Insure++ will be checking. This can lead to false outputs when using this compiler with Insure++.

We highly recommend you do not continue to use the GCC-4.9 compiler and instead use a more recent release of the GCC compiler, like GCC-5.4.0 and above, as this issue with GCC-4.9 was never resolved in that version and was resolved later in the 5.X compilers.

Here are some links with additional information about the GCC-4.9 compiler issue:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
http://lkml.iu.edu/hypermail/linux/kernel/1407.3/00650.html