Quote:
Originally Posted by NiLuJe
@Kai771: Ubuntu defaults to -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16, which would be okay if targeting the K4/K5, but is completely wrong for the K3.
|
Yes, I realized that instantly thanks to your great advice about gcc -Q -v. That's why the first thing I tried was setting it all in ARM_CFLAGS, as you can see in my previous post. I did forget to check with setting my env though (I knew I forgot something), but unfortunately, setting env didn't help.
I also went through Makefile, and fixed few more places where *FLAGS weren't passed down, but that didn't help either (I might have missed some of them. I'll check again tomorrow. I'm attaching the most recent Makefile that I used).
Quote:
The fact that you ran CS with O3 & Ubuntu without explains the different optimization related flags (all the ones you flaged only in CS with a 1).
|
Actually, no. I did use -O3 on both. I made a mistake copying the command line I used. (Fixed in my previous post now too). However, I believe they're just optimization options, and don't have anything to do with Segmentation faults/Illegal instruction. Of course, I could be wrong.
Code:
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
COLLECT_GCC_OPTIONS='-O3' '-fno-stack-protector' '-U' '_FORTIFY_SOURCE' '-march=armv6' '-marm' '-mfpu=vfp' '-Q' '-v' '-mfloat-abi=softfp'
Quote:
The two others are because the Ubuntu TC is more recent & defaults to targeting the Cortex family (mvectorize-with-neon-quad), and defaults to Thumb mode instructions (mthumb).
|
I wasn't sure if Kindle supports thumb mode (I thought not), so that's why I added -marm. I also thought that -mvectorize-with-neon-quad could be the problem, and tried to turn it off with -mno-vectorize-with-neon-quad, but it didn't work (unrecognized). But, seeing it in your options too means that it's probably not it. (Besides, shouldn't it only be meaningful together with -mfpu=neon?)
I don't know if it's relevant, but my Ubunty Linaro won't accept
-mtls-dialect=gnu, and I see it in both yours and CS defaults.