WOW! a real live “illegal instruction”. I was curious about whether the OS would restrict against certain instructions and wanted to understand how this could happen!
1 Like
If you don’t pass the -march
option, gcc
will default to a value that was chosen when building gcc
. You can check what this value is by running:
echo "" | grep -v -E - 2>&1 | grep GCC_OPTIONS
On my Ubuntu 18.04 machine, this returns:
COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=x86-64'
If you get the same thing, you shouldn’t have to select anything in Projucer (but None
).
Are you sure that’s the correct command? It doesn’t do anything for me.
Sorry, I made a typo. It doesn’t even call gcc
The correct command is:
echo "" | gcc -v -E - 2>&1 | grep GCC_OPTIONS
Here is what I get on Azure:
COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=x86-64'
COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=x86-64'
And here is what I get on my build machine:
COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=x86-64'
COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=x86-64'
Exact same. Not sure why the Azure builds won’t run on my machine.
Are you sure there is no -march
option left in the Makefile?