01-26-2015, 09:52 AM
I think I've found the difference between a pi and an Odroid XU3. The pi's use a ARM1176JZF-S processor that supports Thumb but not Thumb2. The Odroid however has a mixture of Cortex A series cores which support Thumb and Thumb2. PolarSSL has a special case asm for processors that support Thumb but not Thumb2. Which means the inline assembly is different on the Odroid. However why this should cause a build failure on the Odroid but not the pi is strange as the thumb special case code clobbers all the registers the thumb2/non-thumb one does and more. The only thing I can think of is that gcc on the pi handling the clobber and storing the frame pointer somewhere else temporally. So it would be useful to know the exact compiler version you are using.