Hello forum,
we are trying to revamp some software projects running on an embedded board based on the OMAP3525 cpu
but we are facing unexpected challenges and we hope you can help us.
The software used to run under Linux 2.6.37-rc4, both kernel and applications were compiled with a custom toolchain
arm-linux-gcc (crosstool-NG 1.16.0 - buildroot 2012.08-git-00302-g883a32b-dirty).
Now, what we did first was to make use of a more recent compiler (gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf) in
order to be able to compile additional c++11 codebases; with this toolchain we were able to build Linux 2.6.39.4.
Once installed on the target the kernel proved to be working smoothly so we moved on to compiling our software, but although
it compiled with no major issues it seems to be affected by randomic crashes and generally speaking it is not stable.
The same software when compiled with the previous toolchain works smoothly.
We messed with a lot of compiler options but did not succeed in building stable applications.
The big headache is the crash behavior: crashes happen randomly in time, either for a segmentation fault or an illegal instruction exception (???).
We do not make use of floating point or NEON instructions in our software.
Do you have any clue on what might be the problem? Why the compiler should generate unstable user-space binaries when using plain ARM
instructions and no NEON/VFP code?
Thanks